view tests/newMessage.ur @ 1888:5f478ecf65e4

Identify more local definitions as functions that should be lifted to the top level, which has synergistic effects on inlining later
author Adam Chlipala <adam@chlipala.net>
date Tue, 05 Nov 2013 11:58:52 -0500
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})