Mercurial > urweb
annotate tests/subsig.ur @ 805:e2780d2f4afc
Mutual datatypes through Elaborate
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 16 May 2009 15:14:17 -0400 |
parents | 71bafe66dbe1 |
children |
rev | line source |
---|---|
adamc@60 | 1 structure M = struct |
adamc@60 | 2 signature S = sig |
adamc@60 | 3 type t |
adamc@60 | 4 end |
adamc@60 | 5 end |
adamc@60 | 6 |
adamc@60 | 7 structure N : M.S = struct |
adamc@60 | 8 type t = int |
adamc@60 | 9 end |
adamc@60 | 10 |
adamc@60 | 11 structure M' = struct |
adamc@60 | 12 type t = int |
adamc@60 | 13 val y = 42 |
adamc@60 | 14 |
adamc@60 | 15 signature S = sig |
adamc@60 | 16 val x : t |
adamc@60 | 17 end |
adamc@60 | 18 end |
adamc@60 | 19 |
adamc@60 | 20 structure N' : M'.S = struct |
adamc@60 | 21 val x = 0 |
adamc@60 | 22 end |
adamc@60 | 23 |
adamc@60 | 24 signature S = sig |
adamc@60 | 25 type t |
adamc@60 | 26 val y : t |
adamc@60 | 27 |
adamc@60 | 28 signature S = sig |
adamc@60 | 29 val x : t |
adamc@60 | 30 end |
adamc@60 | 31 end |
adamc@60 | 32 |
adamc@60 | 33 structure M'S : S = M' |
adamc@60 | 34 |
adamc@60 | 35 structure V : M'S.S = struct |
adamc@60 | 36 val x = M'S.y |
adamc@60 | 37 end |
adamc@60 | 38 |
adamc@60 | 39 structure M'S' = M'S |
adamc@60 | 40 |
adamc@60 | 41 structure V : M'S'.S = struct |
adamc@60 | 42 val x = M'S.y |
adamc@60 | 43 end |