119 val add_trrules_i: ast Syntax.trrule list -> sg -> sg |
119 val add_trrules_i: ast Syntax.trrule list -> sg -> sg |
120 val add_path: string -> sg -> sg |
120 val add_path: string -> sg -> sg |
121 val add_space: string * string list -> sg -> sg |
121 val add_space: string * string list -> sg -> sg |
122 val add_name: string -> sg -> sg |
122 val add_name: string -> sg -> sg |
123 val data_kinds: data -> string list |
123 val data_kinds: data -> string list |
124 val init_data: Object.kind * (Object.T * (Object.T -> Object.T) * |
|
125 (Object.T * Object.T -> Object.T) * (sg -> Object.T -> unit)) -> sg -> sg |
|
126 val get_data: Object.kind -> (Object.T -> 'a) -> sg -> 'a |
|
127 val put_data: Object.kind -> ('a -> Object.T) -> 'a -> sg -> sg |
|
128 val print_data: Object.kind -> sg -> unit |
|
129 val merge_refs: sg_ref * sg_ref -> sg_ref |
124 val merge_refs: sg_ref * sg_ref -> sg_ref |
130 val merge: sg * sg -> sg |
125 val merge: sg * sg -> sg |
131 val prep_ext: sg -> sg |
126 val prep_ext: sg -> sg |
132 val nontriv_merge: sg * sg -> sg |
127 val nontriv_merge: sg * sg -> sg |
133 val pre_pure: sg |
128 val pre_pure: sg |
134 val const_of_class: class -> string |
129 val const_of_class: class -> string |
135 val class_of_const: string -> class |
130 val class_of_const: string -> class |
136 end; |
131 end; |
137 |
132 |
138 structure Sign: SIGN = |
133 signature SIGN_PRIVATE = |
|
134 sig |
|
135 include SIGN |
|
136 val init_data: Object.kind * (Object.T * (Object.T -> Object.T) * |
|
137 (Object.T * Object.T -> Object.T) * (sg -> Object.T -> unit)) -> sg -> sg |
|
138 val get_data: Object.kind -> (Object.T -> 'a) -> sg -> 'a |
|
139 val put_data: Object.kind -> ('a -> Object.T) -> 'a -> sg -> sg |
|
140 val print_data: Object.kind -> sg -> unit |
|
141 end; |
|
142 |
|
143 structure Sign: SIGN_PRIVATE = |
139 struct |
144 struct |
140 |
145 |
141 |
146 |
142 (** datatype sg **) |
147 (** datatype sg **) |
143 |
148 |