view src/cache.sml @ 2250:c275bbc41194

Start work on pure expression caching.
author Ziv Scully <ziv@mit.edu>
date Sun, 13 Sep 2015 16:02:45 -0400
parents af1585e7d645
children 0bdfec16a01d
line wrap: on
line source
structure Cache = struct

type cache =
     {(* Takes a query ID and parameters (and, for store, the value to
            store) and gives an FFI call that checks, stores, or flushes the
            relevant entry. The parameters are strings for check and store and
            optional strings for flush because some parameters might not be
            fixed. *)
      check : int * Mono.exp list -> Mono.exp',
      store : int * Mono.exp list * Mono.exp -> Mono.exp',
      flush : int * Mono.exp list -> Mono.exp',
      (* Generates C needed for FFI calls in check, store, and flush. *)
      setupGlobal : Print.PD.pp_desc,
      setupQuery : {index : int, params : int} -> Print.PD.pp_desc}

end