diff options
Diffstat (limited to 'src/mono_fm.sig')
-rw-r--r-- | src/mono_fm.sig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mono_fm.sig b/src/mono_fm.sig new file mode 100644 index 00000000..a72a5da7 --- /dev/null +++ b/src/mono_fm.sig @@ -0,0 +1,22 @@ +signature MONO_FM = sig + type t + + type vr = string * int * Mono.typ * Mono.exp * string + + datatype foo_kind = + Attr + | Url + + val empty : int -> t + + val lookup : t -> foo_kind -> int -> (int -> t -> vr * t) -> t * int + val lookupList : t -> foo_kind -> Mono.typ -> (int -> t -> vr * t) -> t * int + val enter : t -> t + val decls : t -> Mono.decl list + + val freshName : t -> int * t + + (* TODO: don't expose raw references if possible. *) + val nextPvar : int ref + val postMonoize : t ref +end |