Module PersistentRef

module PersistentRef: sig .. end
This module implements a persistent store: in other words, it is a purely functional implementation of references, with an explicit store.

type location 
type 'a store 
val empty : 'a store
val make : 'a ->
'a store -> location * 'a store
val get : location -> 'a store -> 'a
val set : location ->
'a -> 'a store -> 'a store
val iter : ('a -> unit) -> 'a store -> unit
val fold : ('acc -> location -> 'a -> 'acc) ->
'acc -> 'a store -> 'acc
val eq : location -> location -> bool
val neq : location -> location -> bool
val compare : location -> location -> int
val valid : location -> 'a store -> bool