diff src/mono_fm.sig @ 2253:d665925acff8

Factor out [Monoize.Fm] to make it accessible to [Sqlcache].
author Ziv Scully <ziv@mit.edu>
date Mon, 21 Sep 2015 14:54:07 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mono_fm.sig	Mon Sep 21 14:54:07 2015 -0400
@@ -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