diff tests/type_classMod2.lac @ 218:a3413288cce1

Signature ascription for type classes
author Adam Chlipala <adamc@hcoop.net>
date Sat, 16 Aug 2008 16:57:21 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/type_classMod2.lac	Sat Aug 16 16:57:21 2008 -0400
@@ -0,0 +1,18 @@
+signature S = sig
+        class c
+        val default : t :: Type -> c t -> t
+
+        val string_c : c string
+        val int_c : c int
+end
+
+structure M : S = struct
+        class c t = t
+        val default = fn t :: Type => fn v : c t => v
+
+        val int_c : c int = 0
+        val string_c : c string = "Hi"
+end
+
+val hi = M.default [string] _
+val zero = M.default [int] _