Module Persistent_cache.PHashtable

Parameters

Signature

type 'a t
type key = Key.t
val open_in : string -> 'a t

open_in f rebuilds a table from the records stored in file f. As marshaling is not type-safe, it might segfault.

val find : 'a t -> key -> 'a

find has the specification of Hashtable.find

val add : 'a t -> key -> 'a -> unit

add tbl key elem adds the binding key elem to the table tbl. (and writes the binding to the file associated with tbl.) If key is already bound, raises KeyAlreadyBound

val memo : string -> (key -> 'a) -> key -> 'a

memo cache f returns a memo function for f using file cache as persistent table. Note that the cache will only be loaded when the function is used for the first time

val memo_cond : string -> (key -> bool) -> (key -> 'a) -> key -> 'a

memo cache cond f only use the cache if cond k holds for the key k.