diff tests/functor.lac @ 44:a9f3ce2d1b9b

Elaborating functor applications
author Adam Chlipala <adamc@hcoop.net>
date Thu, 19 Jun 2008 17:04:08 -0400
parents d94c484337d0
children 44a1bc863f0f
line wrap: on
line diff
--- a/tests/functor.lac	Thu Jun 19 16:43:24 2008 -0400
+++ b/tests/functor.lac	Thu Jun 19 17:04:08 2008 -0400
@@ -18,3 +18,23 @@
 structure F3 : functor (M : S) : T = F
 (*structure F4 : functor (M : S) : sig type q end = F*)
 (*structure F5 : functor (M : S) : T where type t = int = F*)
+
+
+structure O = F (struct
+        type t = int
+        val z = 0
+        val s = fn x : t => x
+end)
+val three : int = O.three
+
+structure S = struct
+        type t = int
+        val z = 0
+        val s = fn x : t => x
+end
+structure SO = F (S)
+val three : int = SO.three
+
+structure SS : S = S
+structure SSO = F (SS)
+val three : SS.t = SSO.three