package octez-l2-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053
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.