annotate 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
rev   line source
ziv@2253 1 signature MONO_FM = sig
ziv@2253 2 type t
ziv@2253 3
ziv@2253 4 type vr = string * int * Mono.typ * Mono.exp * string
ziv@2253 5
ziv@2253 6 datatype foo_kind =
ziv@2253 7 Attr
ziv@2253 8 | Url
ziv@2253 9
ziv@2253 10 val empty : int -> t
ziv@2253 11
ziv@2253 12 val lookup : t -> foo_kind -> int -> (int -> t -> vr * t) -> t * int
ziv@2253 13 val lookupList : t -> foo_kind -> Mono.typ -> (int -> t -> vr * t) -> t * int
ziv@2253 14 val enter : t -> t
ziv@2253 15 val decls : t -> Mono.decl list
ziv@2253 16
ziv@2253 17 val freshName : t -> int * t
ziv@2253 18
ziv@2253 19 (* TODO: don't expose raw references if possible. *)
ziv@2253 20 val nextPvar : int ref
ziv@2253 21 val postMonoize : t ref
ziv@2253 22 end