view 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 source
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