comparison src/mono_fooify.sig @ 2256:6f2ea4ed573a

Pure caching sort of works.
author Ziv Scully <ziv@mit.edu>
date Sun, 27 Sep 2015 03:52:14 -0400
parents 44ae2254f8fb
children f81f1930c5d6
comparison
equal deleted inserted replaced
2255:8428c534913a 2256:6f2ea4ed573a
17 val lookupList : t -> foo_kind -> Mono.typ -> (int -> t -> vr * t) -> t * int 17 val lookupList : t -> foo_kind -> Mono.typ -> (int -> t -> vr * t) -> t * int
18 val enter : t -> t 18 val enter : t -> t
19 val decls : t -> Mono.decl list 19 val decls : t -> Mono.decl list
20 20
21 val freshName : t -> int * t 21 val freshName : t -> int * t
22
23 (* Set at the end of [Monoize]. *)
24 val canonical : t ref
25 end 22 end
26 23
27 (* General form used in [Monoize]. *) 24 (* General form used in [Monoize]. *)
28 val fooifyExp : foo_kind 25 val fooifyExp : foo_kind
29 -> (int -> Mono.typ * string) 26 -> (int -> Mono.typ * string)
30 -> (int -> string * (string * int * Mono.typ option) list) 27 -> (int -> string * (string * int * Mono.typ option) list)
31 -> Fm.t 28 -> Fm.t
32 -> Mono.exp * Mono.typ 29 -> Mono.exp * Mono.typ
33 -> Mono.exp * Fm.t 30 -> Mono.exp * Fm.t
34 31
35 (* Easy-to-use special case used in [Sqlcache]. *) 32 (* Easy-to-use interface in [Sqlcache]. Uses [Fm.canonical]. *)
36 val urlify : MonoEnv.env -> Mono.exp * Mono.typ -> Mono.exp 33 val canonicalFm : Fm.t ref (* Set at the end of [Monoize]. *)
34 val urlify : MonoEnv.env -> Mono.exp * Mono.typ -> Mono.exp option
35 val getNewFmDecls : unit -> Mono.decl list
37 36
38 end 37 end