package b0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0
doc/b0.std/B0_std/Result/index.html
Module B0_std.Result
Source
Result values.
All additions available in OCaml 5.4
include module type of Result
Results
The type for result values. Either a value Ok v
or an error Error e
.
value r ~default
is v
if r
is Ok v
and default
otherwise.
bind r f
is f v
if r
is Ok v
and r
if r
is Error _
.
join rr
is r
if rr
is Ok r
and rr
if rr
is Error _
.
map f r
is Ok (f v)
if r
is Ok v
and r
if r
is Error _
.
map_error f r
is Error (f e)
if r
is Error e
and r
if r
is Ok _
.
fold ~ok ~error r
is ok v
if r
is Ok v
and error e
if r
is Error e
.
iter f r
is f v
if r
is Ok v
and ()
otherwise.
iter_error f r
is f e
if r
is Error e
and ()
otherwise.
Predicates and comparisons
val equal :
ok:('a -> 'a -> bool) ->
error:('e -> 'e -> bool) ->
('a, 'e) result ->
('a, 'e) result ->
bool
equal ~ok ~error r0 r1
tests equality of r0
and r1
using ok
and error
to respectively compare values wrapped by Ok _
and Error _
.
val compare :
ok:('a -> 'a -> int) ->
error:('e -> 'e -> int) ->
('a, 'e) result ->
('a, 'e) result ->
int
compare ~ok ~error r0 r1
totally orders r0
and r1
using ok
and error
to respectively compare values wrapped by Ok _
and Error _
. Ok _
values are smaller than Error _
values.
Converting
to_option r
is r
as an option, mapping Ok v
to Some v
and Error _
to None
.
Extracting results
get_ok' r
is like get_ok
but the message of Invalid_argument
is the error meesage.
error_to_failure r
is failwith e
if r
is Error e
and v
if r
is Ok v
.