Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | signature T = |
2 | sig | |
3 | eqtype s | |
4 | structure V: | |
5 | sig | |
6 | datatype v = V | |
7 | end where type v = s | |
8 | end | |
9 | ||
10 | signature S = | |
11 | sig | |
12 | eqtype v | |
13 | structure T: sig | |
14 | eqtype t | |
15 | end where type t = v | |
16 | end | |
17 | ||
18 | signature S = | |
19 | sig | |
20 | eqtype v | |
21 | structure S: sig | |
22 | type 'a t | |
23 | end where type 'a t = v | |
24 | structure T: sig | |
25 | eqtype t | |
26 | end where type t = int S.t | |
27 | end | |
28 | ||
29 | signature S = | |
30 | sig | |
31 | eqtype v | |
32 | structure S: sig | |
33 | type 'a t | |
34 | end where type 'a t = v | |
35 | structure T: sig | |
36 | eqtype t | |
37 | end where type t = real S.t | |
38 | end | |
39 | ||
40 | signature S = | |
41 | sig | |
42 | eqtype v | |
43 | structure S: sig | |
44 | type 'a t | |
45 | type u = real t | |
46 | end where type 'a t = v | |
47 | structure T: sig | |
48 | eqtype t | |
49 | end where type t = S.u | |
50 | end | |
51 | ||
52 | functor F (eqtype v | |
53 | structure S: sig | |
54 | type 'a t | |
55 | type u = real t | |
56 | end where type 'a t = v) = | |
57 | struct | |
58 | fun f (x: 'a S.t) = x = x | |
59 | fun f (x: S.u) = x = x | |
60 | end | |
61 | ||
62 | signature T = | |
63 | sig | |
64 | eqtype s | |
65 | structure U: | |
66 | sig | |
67 | type 'a t | |
68 | type u = (int * real) t | |
69 | end where type 'a t = s | |
70 | structure V: | |
71 | sig | |
72 | datatype v = V | |
73 | end where type v = U.u | |
74 | end | |
75 | ||
76 | structure T: T = | |
77 | struct | |
78 | datatype s = V | |
79 | structure U = | |
80 | struct | |
81 | type 'a t = s | |
82 | type u = (int * real) t | |
83 | end | |
84 | structure V = | |
85 | struct | |
86 | datatype v = datatype s | |
87 | end | |
88 | end |