view tests/newMessage.ur @ 2044:42ae25a354f8

Retweak the last tweak to allow type inference to succeed in a strict superset of the places where it used to succeed
author Adam Chlipala <adam@chlipala.net>
date Tue, 29 Jul 2014 14:46:06 -0400
parents 7ec8dab190a7
children
line wrap: on
line source
datatype message =  NewQuestion of { Id : string}
                  | Something of {Blah : int}

fun showMessage (message : message) =
    case message of
        NewQuestion {Id = a} => a
      | Something {Blah = x} => "blah"

val show_mes = mkShow showMessage

fun showTwoTuple [a] [b] (_ : show a) (_: show b) = mkShow (fn (two_tuple : {1:a, 2:b}) =>
                              "(" ^ show two_tuple.1 ^ ", " ^ show two_tuple.2 ^ ")"

                          )
val om = show  (Something {Blah = 1}, Something {Blah = 2})