Module type LogtkCache.S2

module type S2 = sig .. end
LogtkSignature of a cache for pairs of values

type 'a t 
type key1 
type key2 
val create : int -> 'a t
Create a new cache of the given size.
val clear : 'a t -> unit
Clear content of the cache
val with_cache : 'a t ->
(key1 -> key2 -> 'a) ->
key1 -> key2 -> 'a
Wrap the function with the cache
type 'a func = key1 -> key2 -> 'a 
val with_cache_rec : 'a t ->
('a func -> 'a func) -> 'a func
Partially apply the given function with a cached version of itself. It returns the specialized function.