diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-06-22 19:10:47 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-06-22 19:10:47 -0400 |
commit | c329cf497908879f592308fdd1d20a5b631ca2df (patch) | |
tree | 499be889aa21d7313ece27872b1e9006bfcc4a50 | |
parent | e4a1bf8af62cb275bf5f5ae2f83b7197b1b58461 (diff) |
Subsignatures example
-rw-r--r-- | tests/subsig.lac | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/subsig.lac b/tests/subsig.lac new file mode 100644 index 00000000..c10fb3ba --- /dev/null +++ b/tests/subsig.lac @@ -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 |