Either Monad
Module that is compatible with Either form OCaml 4.12 but can be use with any ocaml version compatible with container
Sourcetype 'a iter = ('a -> unit) -> unit Sourcetype 'a equal = 'a -> 'a -> bool Sourcetype 'a ord = 'a -> 'a -> int Basics
Sourceval is_left : ('a, 'b) t -> bool is_left x checks if x = Left _
Sourceval is_right : ('a, 'b) t -> bool is_right x checks if x = Right _
Sourceval find_left : ('a, 'b) t -> 'a option find_left x returns l if x = Left l and None otherwise.
Sourceval find_right : ('a, 'b) t -> 'b option find_right x returns r if x = Left r and None otherwise.
Sourceval map_left : ('a1 -> 'a2) -> ('a1, 'b) t -> ('a2, 'b) t Sourceval map_right : ('b1 -> 'b2) -> ('a, 'b1) t -> ('a, 'b2) t Map of the Right variant.
Sourceval map :
left:('a1 -> 'a2) ->
right:('b1 -> 'b2) ->
('a1, 'b1) t ->
('a2, 'b2) t Sourceval fold : left:('a -> 'c) -> right:('b -> 'c) -> ('a, 'b) t -> 'c Fold using left or right.
Sourceval iter : left:('a -> unit) -> right:('b -> unit) -> ('a, 'b) t -> unit Iter using left or right.
Sourceval for_all : left:('a -> bool) -> right:('b -> bool) -> ('a, 'b) t -> bool Check some property on Left or Right variant.
Sourceval equal :
left:('a -> 'a -> bool) ->
right:('b -> 'b -> bool) ->
('a, 'b) t ->
('a, 'b) t ->
bool Sourceval compare :
left:('a -> 'a -> int) ->
right:('b -> 'b -> int) ->
('a, 'b) t ->
('a, 'b) t ->
int IO