annotate tests/newMessage.ur @ 2184:1ecef02f67c5

More Elaborate work to avoid instantiating unification variables with out-of-scope regular variables
author Adam Chlipala <adam@chlipala.net>
date Sat, 24 Oct 2015 17:23:07 -0400
parents 7ec8dab190a7
children
rev   line source
adam@1736 1 datatype message = NewQuestion of { Id : string}
adam@1736 2 | Something of {Blah : int}
adam@1736 3
adam@1736 4 fun showMessage (message : message) =
adam@1736 5 case message of
adam@1736 6 NewQuestion {Id = a} => a
adam@1736 7 | Something {Blah = x} => "blah"
adam@1736 8
adam@1736 9 val show_mes = mkShow showMessage
adam@1736 10
adam@1736 11 fun showTwoTuple [a] [b] (_ : show a) (_: show b) = mkShow (fn (two_tuple : {1:a, 2:b}) =>
adam@1736 12 "(" ^ show two_tuple.1 ^ ", " ^ show two_tuple.2 ^ ")"
adam@1736 13
adam@1736 14 )
adam@1736 15 val om = show (Something {Blah = 1}, Something {Blah = 2})