Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh |
2 | * Jagannathan, and Stephen Weeks. | |
3 | * Copyright (C) 1997-2000 NEC Research Institute. | |
4 | * | |
5 | * MLton is released under a BSD-style license. | |
6 | * See the file MLton-LICENSE for details. | |
7 | *) | |
8 | ||
9 | signature ATOMS_STRUCTS = | |
10 | sig | |
11 | end | |
12 | ||
13 | signature ATOMS' = | |
14 | sig | |
15 | include ATOMS_STRUCTS | |
16 | ||
17 | structure AdmitsEquality: ADMITS_EQUALITY | |
18 | structure CFunction: C_FUNCTION | |
19 | structure CType: C_TYPE | |
20 | structure CharSize: CHAR_SIZE | |
21 | structure Con: CON | |
22 | structure Const: CONST | |
23 | structure Ffi: FFI | |
24 | structure Field: FIELD | |
25 | structure Func: FUNC | |
26 | structure IntSize: INT_SIZE | |
27 | structure Label: LABEL | |
28 | structure Prim: PRIM | |
29 | structure ProfileExp: PROFILE_EXP | |
30 | structure ProfileLabel: PROFILE_LABEL | |
31 | structure RealSize: REAL_SIZE | |
32 | structure RealX: REAL_X | |
33 | structure Record: RECORD | |
34 | structure SortedRecord: RECORD | |
35 | structure SourceInfo: SOURCE_INFO | |
36 | structure Symbol: SYMBOL | |
37 | structure Tycon: TYCON | |
38 | structure TyconKind: TYCON_KIND | |
39 | structure Tyvar: TYVAR | |
40 | structure Var: VAR | |
41 | structure WordSize: WORD_SIZE | |
42 | structure WordX: WORD_X | |
43 | structure WordXVector: WORD_X_VECTOR | |
44 | ||
45 | sharing AdmitsEquality = Tycon.AdmitsEquality | |
46 | sharing CFunction = Ffi.CFunction = Prim.CFunction | |
47 | sharing CType = CFunction.CType = Ffi.CType = Prim.CType | |
48 | sharing CharSize = Tycon.CharSize | |
49 | sharing Con = Prim.Con | |
50 | sharing Const = Prim.Const | |
51 | sharing Field = Record.Field = SortedRecord.Field | |
52 | sharing IntSize = Tycon.IntSize | |
53 | sharing RealSize = CType.RealSize = Prim.RealSize = RealX.RealSize | |
54 | = Tycon.RealSize | |
55 | sharing RealX = Const.RealX | |
56 | sharing SourceInfo = ProfileExp.SourceInfo | |
57 | sharing TyconKind = Tycon.Kind | |
58 | sharing WordSize = CType.WordSize = Prim.WordSize = Tycon.WordSize | |
59 | = WordX.WordSize | |
60 | sharing WordX = Const.WordX = WordXVector.WordX | |
61 | sharing WordXVector = Const.WordXVector | |
62 | end | |
63 | ||
64 | signature ATOMS = | |
65 | sig | |
66 | structure Atoms: ATOMS' | |
67 | ||
68 | include ATOMS' | |
69 | ||
70 | (* For each structure, like CFunction, I would like to write two sharing | |
71 | * constraints | |
72 | * sharing Atoms = CFunction | |
73 | * sharing CFunction = Atoms.CFunction | |
74 | * but I can't because of a bug in SML/NJ that reports "Sharing structure | |
75 | * with a descendent substructure". So, I am forced to write out lots | |
76 | * of individual sharing constraints. Blech. | |
77 | *) | |
78 | sharing AdmitsEquality = Atoms.AdmitsEquality | |
79 | sharing CFunction = Atoms.CFunction | |
80 | sharing CType = Atoms.CType | |
81 | sharing CharSize = Atoms.CharSize | |
82 | sharing Con = Atoms.Con | |
83 | sharing Const = Atoms.Const | |
84 | sharing Ffi = Atoms.Ffi | |
85 | sharing Field = Atoms.Field | |
86 | sharing Func = Atoms.Func | |
87 | sharing IntSize = Atoms.IntSize | |
88 | sharing Label = Atoms.Label | |
89 | sharing Prim = Atoms.Prim | |
90 | sharing ProfileExp = Atoms.ProfileExp | |
91 | sharing ProfileLabel = Atoms.ProfileLabel | |
92 | sharing RealSize = Atoms.RealSize | |
93 | sharing RealX = Atoms.RealX | |
94 | sharing Record = Atoms.Record | |
95 | sharing SortedRecord = Atoms.SortedRecord | |
96 | sharing SourceInfo = Atoms.SourceInfo | |
97 | sharing Symbol = Atoms.Symbol | |
98 | sharing Tycon = Atoms.Tycon | |
99 | sharing TyconKind = Atoms.TyconKind | |
100 | sharing Tyvar = Atoms.Tyvar | |
101 | sharing Var = Atoms.Var | |
102 | sharing WordSize = Atoms.WordSize | |
103 | sharing WordX = Atoms.WordX | |
104 | sharing WordXVector = Atoms.WordXVector | |
105 | end |