package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

Dune Dependency

Authors

Maintainers

Sources

merlin-5.3-502.tbz
sha256=2cea46f12397fa6e31ef0c0d4f5e11c1cfd916ee49420694005c95ebb3aa24bc
sha512=e94abb9ae38149245337db033e2c3891c7ec772168e99abf1bda0216a894c0854e7170b56fe88eba83ec98f2ebc0f5c7c723e8db14f59eeb6dd348bec12c6d62

doc/merlin-lib.utils/Merlin_utils/Std/Result/index.html

Module Std.ResultSource

include module type of struct include Result end

Results

Sourcetype ('a, 'e) t = ('a, 'e) result =
  1. | Ok of 'a
  2. | Error of 'e

The type for result values. Either a value Ok v or an error Error e.

Sourceval ok : 'a -> ('a, 'e) result

ok v is Ok v.

Sourceval error : 'e -> ('a, 'e) result

error e is Error e.

Sourceval value : ('a, 'e) result -> default:'a -> 'a

value r ~default is v if r is Ok v and default otherwise.

Sourceval get_ok : ('a, 'e) result -> 'a

get_ok r is v if r is Ok v and raise otherwise.

Sourceval get_error : ('a, 'e) result -> 'e

get_error r is e if r is Error e and raise otherwise.

Sourceval join : (('a, 'e) result, 'e) result -> ('a, 'e) result

join rr is r if rr is Ok r and rr if rr is Error _.

Sourceval map_error : ('e -> 'f) -> ('a, 'e) result -> ('a, 'f) result

map_error f r is Error (f e) if r is Error e and r if r is Ok _.

Sourceval fold : ok:('a -> 'c) -> error:('e -> 'c) -> ('a, 'e) result -> 'c

fold ~ok ~error r is ok v if r is Ok v and error e if r is Error e.

Sourceval iter : ('a -> unit) -> ('a, 'e) result -> unit

iter f r is f v if r is Ok v and () otherwise.

Sourceval iter_error : ('e -> unit) -> ('a, 'e) result -> unit

iter_error f r is f e if r is Error e and () otherwise.

Predicates and comparisons

Sourceval is_ok : ('a, 'e) result -> bool

is_ok r is true if and only if r is Ok _.

Sourceval is_error : ('a, 'e) result -> bool

is_error r is true if and only if r is Error _.

Sourceval 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 _.

Sourceval 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

Sourceval to_option : ('a, 'e) result -> 'a option

to_option r is r as an option, mapping Ok v to Some v and Error _ to None.

Sourceval to_list : ('a, 'e) result -> 'a list

to_list r is [v] if r is Ok v and [] otherwise.

Sourceval to_seq : ('a, 'e) result -> 'a Seq.t

to_seq r is r as a sequence. Ok v is the singleton sequence containing v and Error _ is the empty sequence.

Sourceval map : f:('a -> 'b) -> ('a, 'c) result -> ('b, 'c) result
Sourceval bind : f:('a -> ('b, 'c) result) -> ('a, 'c) result -> ('b, 'c) result
OCaml

Innovation. Community. Security.