Mercurial > urweb
annotate tests/type_classMod.ur @ 1455:913d9c2f55c9
Corify Basis.unit to empty record; this is needed so that specialize
can see that they are equivalent.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Fri, 06 May 2011 16:24:45 -0430 |
parents | 71bafe66dbe1 |
children |
rev | line source |
---|---|
adamc@217 | 1 structure M = struct |
adamc@217 | 2 structure N = struct |
adamc@217 | 3 class c t = t |
adamc@217 | 4 val string_c : c string = "Hi" |
adamc@217 | 5 end |
adamc@217 | 6 end |
adamc@217 | 7 |
adamc@217 | 8 val c : t :: Type -> M.N.c t -> t = |
adamc@217 | 9 fn t :: Type => fn pf : M.N.c t => pf |
adamc@217 | 10 val hi = c [string] _ |
adamc@217 | 11 |
adamc@217 | 12 val bool_c : M.N.c bool = True |
adamc@217 | 13 val true = c [bool] _ |
adamc@217 | 14 val hi = c [string] _ |
adamc@217 | 15 |
adamc@217 | 16 con c = M.N.c |
adamc@217 | 17 val int_c : c int = 0 |
adamc@217 | 18 val zero = c [int] _ |