Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Result
Sourceinclude module type of struct include Result end
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.
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.
to_option r
is r
as an option, mapping Ok v
to Some v
and Error _
to None
.