annotate tests/type_classMod.ur @ 2095:d9f918b79b5a

List.mem
author Adam Chlipala <adam@chlipala.net>
date Tue, 23 Dec 2014 14:41:23 -0500
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] _