Biocaml_unix.Biocaml_resultSourceExtension of Core's Result. Internal use only.
include module type of Core_kernel.Resultinclude Ppx_sexp_conv_lib.Sexpable.S2 with type ('a, 'b) t := ('a, 'b) tinclude module type of Base.Result with type ('a, 'b) t := ('a, 'b) tval hash_fold_t :
(Base.Hash.state -> 'ok -> Base.Hash.state) ->
(Base.Hash.state -> 'err -> Base.Hash.state) ->
Base.Hash.state ->
('ok, 'err) t ->
Base.Hash.statee.g., failf "Couldn't find bloogle %s" (Bloogle.to_string b).
val combine :
('ok1, 'err) t ->
('ok2, 'err) t ->
ok:('ok1 -> 'ok2 -> 'ok3) ->
err:('err -> 'err -> 'err) ->
('ok3, 'err) tReturns Ok if both are Ok and Error otherwise.
combine_errors ts returns Ok if every element in ts is Ok, else it returns Error with all the errors in ts.
This is similar to all from Monad.S2, with the difference that all only returns the first error.
combine_errors_unit returns Ok if every element in ts is Ok (), else it returns Error with all the errors in ts, like combine_errors.
to_either is useful with List.partition_map. For example:
let ints, exns =
List.partition_map ["1"; "two"; "three"; "4"] ~f:(fun string ->
Result.to_either (Result.try_with (fun () -> Int.of_string string)))ok_if_true returns Ok () if bool is true, and Error error if it is false.