view src/cache.sml @ 2248:e09c3dc102ef

Rewrite effectfulness analysis using MonoUtil.
author Ziv Scully <ziv@mit.edu>
date Sat, 15 Aug 2015 23:08:37 -0700
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