view tests/type_class.ur @ 369:226c977faa9c

Crud indented properly, except for <xml>...</xml> outside parens and sig/struct
author Adam Chlipala <adamc@hcoop.net>
date Thu, 16 Oct 2008 14:40:28 -0400
parents 71bafe66dbe1
children fab5998b840e
line wrap: on
line source
class default t = t

val string_default : default string = "Hi"
val int_default : default int = 0

val default : t :: Type -> default t -> t =
        fn t :: Type => fn d : default t => d
val hi = default [string] _
val zero = default [int] _

val frob : t :: Type -> default t -> t =
        fn t :: Type => fn _ : default t => default [t] _
val hi_again = frob [string] _
val zero_again = frob [int] _

val main : unit -> page = fn () => <html><body>
        {cdata hi_again}
</body></html>