Mercurial > urweb
diff tests/subsig.lac @ 60:8bce148070a7
Subsignatures example
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Jun 2008 19:10:47 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/subsig.lac Sun Jun 22 19:10:47 2008 -0400 @@ -0,0 +1,43 @@ +structure M = struct + signature S = sig + type t + end +end + +structure N : M.S = struct + type t = int +end + +structure M' = struct + type t = int + val y = 42 + + signature S = sig + val x : t + end +end + +structure N' : M'.S = struct + val x = 0 +end + +signature S = sig + type t + val y : t + + signature S = sig + val x : t + end +end + +structure M'S : S = M' + +structure V : M'S.S = struct + val x = M'S.y +end + +structure M'S' = M'S + +structure V : M'S'.S = struct + val x = M'S.y +end