summaryrefslogtreecommitdiff
path: root/src/mono_fm.sig
diff options
context:
space:
mode:
Diffstat (limited to 'src/mono_fm.sig')
-rw-r--r--src/mono_fm.sig22
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