package octez-l2-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=c6df840ebbf115e454db949028c595bec558a59a66cade73b52a6d099d6fa4d4
sha512=d8aee903b9fe130d73176bc8ec38b78c9ff65317da3cb4f3415f09af0c625b4384e7498201fdb61aa39086a7d5d409d0ab3423f9bc3ab989a680cf444a79bc13
doc/octez-l2-libs.layer2_store/Tezos_layer2_store/Delayed_write_monad/index.html
Module Tezos_layer2_store.Delayed_write_monad
Source
Monad for values with delayed write effects
Type to encapsulate values with a callback that should write to disk. This allows to delay some writes to a location where we have write access to the context.
no_write v
returns v
together with a write function that does nothing.
val delay_write :
'a ->
('store -> unit Tezos_base.TzPervasives.tzresult Lwt.t) ->
('a, 'store) t
delay_write v write
returns a delayed write version of v
with the write
function to be called later.
map f dw
returns the delayed write dw
where f
is applied to the encapsulated value.
val map_es :
('a -> ('b, 'c) result Lwt.t) ->
('a, 'store) t ->
(('b, 'store) t, 'c) result Lwt.t
map_es
is like map
in the Lwt result monad.
bind f dw
returns a delayed write value where f
is applied to the encapsulated value and the write effects of f
are added to the effects of dw
.
apply node_ctxt dw
applies the write effects on the context node_ctxt
and returns the encapsulated value.
ignore dw
ignores the write effects and returns the encapsulated value.