package volgo

  1. Overview
  2. Docs
A Versatile OCaml Library for Git Operations

Install

dune-project
 Dependency

Authors

Maintainers

Sources

volgo-0.0.22.tbz
sha256=2714935a34417be2151736a4765431746c9348db5a3b4f0eaacaf74dfaefeabb
sha512=0eba27395125ae928fd53561029d9653094d822b2907cb9afc18f412b46ef47cf880ba80d1bf17212add4e68e6a55e2792176303e2b0bcee08940e25731b4738

doc/volgo.stdlib/Volgo_stdlib/Result/index.html

Module Volgo_stdlib.ResultSource

include module type of Result

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_ok' : ('a, string) result -> 'a

get_ok' is like get_ok but in case of error uses the error message for raising Invalid_argument.

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

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

Sourceval error_to_failure : ('a, string) result -> 'a

error_to_failure r is v if r is Ok v and raises Failure e if r is Error e.

  • since 5.4
Sourceval bind : ('a, 'e) result -> ('a -> ('b, 'e) result) -> ('b, 'e) result

bind r f is f v if r is Ok v and r if r is Error _.

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 product : ('a, 'e) result -> ('b, 'e) result -> ('a * 'b, 'e) result

product r0 r1 is Ok (v0, v1) if r0 is Ok v0 and r1 is Ok v2 and otherwise returns the error of r0, if any, or the error of r1.

  • since 5.4
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 retract : ('a, 'a) result -> 'a

retract r is v if r is Ok v or Error v.

  • since 5.4
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.

Syntax

Sourcemodule Syntax : sig ... end
Sourceval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> ('b -> Sexplib0.Sexp.t) -> ('a, 'b) Result.t -> Sexplib0.Sexp.t
Sourceval map : ('a, 'e) Result.t -> f:('a -> 'b) -> ('b, 'e) Result.t
Sourceval map_error : ('a, 'e1) Result.t -> f:('e1 -> 'e2) -> ('a, 'e2) Result.t
Sourceval of_option : 'a option -> error:'e -> ('a, 'e) Result.t
Sourceval return : 'a -> ('a, _) Result.t