Module Res

type 'a res =
| Ok of 'a

There was a problem.

| Err of Stdlib.Format.formatter -> unit

A result for some type.

val unwrap : 'a res -> 'a

Unwraps a result.

val map_res : ('a -> 'b) -> ((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> 'a res -> 'b res

Maps functions to Ok or Err.

val map : ('a -> 'b) -> 'a res -> 'b res

Maps a function to a result if it's Ok.

val map_err : ((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> 'a res -> 'a res

Maps a function to a result if it's Err.

val chain : ?⁠fmt:((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> ('a -> 'b res) -> 'a res -> 'b res

Feeds a result to a function returning a result, propagates if argument's an error.

val l_fold : ?⁠fmt:((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> ('acc -> 'a -> 'acc res) -> 'acc -> 'a list -> 'acc res

Fold over a list of results.

val l_map : ?⁠fmt:((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> ('a -> 'b res) -> 'a list -> 'b list res

Map over a list with a result-producing function.

val l_iter : ?⁠fmt:((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> ('a -> unit res) -> 'a list -> unit res

Iterate over a list with a result-producing function.