Mercurial > urweb
view tests/type_class.ur @ 623:588b9d16b00a
Start of kind polymorphism, up to the point where demo/hello elaborates with updated Basis/Top
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Feb 2009 16:10:25 -0500 |
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>