Rea.Memo
Memoized lazy computation for asynchronous programming.
type ('R, 'e, 'a) t
Represents a memoized lazy computation.
val create : ('R, 'f, 'a, < ('R, 'D) monad' ; ('R, 'D) errors' ; ('R, 'D) suspend'.. > as 'D) er -> ('R, 'e, ('R, 'f, 'a) t, 'D) er
create eaE effect returns a memoized lazy computation.
create eaE
val eval : ('R, 'e, 'a) t -> ('R, 'e, 'a, < ('R, 'D) monad' ; ('R, 'D) errors' ; ('R, 'D) suspend'.. > as 'D) er
eval eaM effect executes the effect and memoizes its result or produces the memoized result.
eval eaM