annotate tests/type_class.ur @ 495:98f85c1bc867

Fix type calculation for applying-a-case optimization
author Adam Chlipala <adamc@hcoop.net>
date Tue, 11 Nov 2008 20:24:55 -0500
parents 71bafe66dbe1
children fab5998b840e
rev   line source
adamc@211 1 class default t = t
adamc@211 2
adamc@212 3 val string_default : default string = "Hi"
adamc@211 4 val int_default : default int = 0
adamc@211 5
adamc@211 6 val default : t :: Type -> default t -> t =
adamc@211 7 fn t :: Type => fn d : default t => d
adamc@212 8 val hi = default [string] _
adamc@211 9 val zero = default [int] _
adamc@212 10
adamc@212 11 val frob : t :: Type -> default t -> t =
adamc@212 12 fn t :: Type => fn _ : default t => default [t] _
adamc@212 13 val hi_again = frob [string] _
adamc@212 14 val zero_again = frob [int] _
adamc@212 15
adamc@212 16 val main : unit -> page = fn () => <html><body>
adamc@212 17 {cdata hi_again}
adamc@212 18 </body></html>