Module Caml.Result
Results
type ('a, 'e) t= ('a, 'e) Stdlib.result=|Ok of 'a|Error of 'eThe type for result values. Either a value
Ok vor an errorError e.
val ok : 'a -> ('a, 'e) Stdlib.resultok visOk v.
val error : 'e -> ('a, 'e) Stdlib.resulterror eisError e.
val value : ('a, 'e) Stdlib.result -> default:'a -> 'avalue r ~defaultisvifrisOk vanddefaultotherwise.
val get_ok : ('a, 'e) Stdlib.result -> 'aget_ok risvifrisOk vand- raises Invalid_argument
otherwise.
val get_error : ('a, 'e) Stdlib.result -> 'eget_error riseifrisError eand- raises Invalid_argument
otherwise.
val bind : ('a, 'e) Stdlib.result -> ('a -> ('b, 'e) Stdlib.result) -> ('b, 'e) Stdlib.resultbind r fisf vifrisOk vandrifrisError _.
val join : (('a, 'e) Stdlib.result, 'e) Stdlib.result -> ('a, 'e) Stdlib.resultjoin rrisrifrrisOk randrrifrrisError _.
val map : ('a -> 'b) -> ('a, 'e) Stdlib.result -> ('b, 'e) Stdlib.resultmap f risOk (f v)ifrisOk vandrifrisError _.
val map_error : ('e -> 'f) -> ('a, 'e) Stdlib.result -> ('a, 'f) Stdlib.resultmap_error f risError (f e)ifrisError eandrifrisOk _.
val fold : ok:('a -> 'c) -> error:('e -> 'c) -> ('a, 'e) Stdlib.result -> 'cfold ~ok ~error risok vifrisOk vanderror eifrisError e.
val iter : ('a -> unit) -> ('a, 'e) Stdlib.result -> unititer f risf vifrisOk vand()otherwise.
val iter_error : ('e -> unit) -> ('a, 'e) Stdlib.result -> unititer_error f risf eifrisError eand()otherwise.
Predicates and comparisons
val is_ok : ('a, 'e) Stdlib.result -> boolis_ok ristrueiffrisOk _.
val is_error : ('a, 'e) Stdlib.result -> boolis_error ristrueiffrisError _.
val equal : ok:('a -> 'a -> bool) -> error:('e -> 'e -> bool) -> ('a, 'e) Stdlib.result -> ('a, 'e) Stdlib.result -> boolequal ~ok ~error r0 r1tests equality ofr0andr1usingokanderrorto respectively compare values wrapped byOk _andError _.
val compare : ok:('a -> 'a -> int) -> error:('e -> 'e -> int) -> ('a, 'e) Stdlib.result -> ('a, 'e) Stdlib.result -> intcompare ~ok ~error r0 r1totally ordersr0andr1usingokanderrorto respectively compare values wrapped byOk _andError _.Ok _values are smaller thanError _values.
Converting
val to_option : ('a, 'e) Stdlib.result -> 'a optionto_option risras an option, mappingOk vtoSome vandError _toNone.
val to_list : ('a, 'e) Stdlib.result -> 'a listto_list ris[v]ifrisOk vand[]otherwise.
val to_seq : ('a, 'e) Stdlib.result -> 'a Seq.tto_seq risras a sequence.Ok vis the singleton sequence containingvandError _is the empty sequence.