The traced Result monad: for successes and traced failures
The Traced_result_syntax module is similar to the Result_syntax module with the following differences:
fail wraps the error in a trace,and* and and+ are provided
See Result_syntax.
val return : 'a -> ('a, 'error) Stdlib.resultval return_unit : (unit, 'error) Stdlib.resultval return_none : ('a option, 'error) Stdlib.resultval return_some : 'a -> ('a option, 'error) Stdlib.resultval return_nil : ('a list, 'error) Stdlib.resultval return_true : (bool, 'error) Stdlib.resultval return_false : (bool, 'error) Stdlib.resultval fail : 'error -> ('a, 'error trace) Stdlib.resultfail e is (Error (Trace.make e)) where Trace is the Traced_sigs.Trace module that provides the trace type and functions.
val let* :
('a, 'e) Stdlib.result ->
('a -> ('b, 'e) Stdlib.result) ->
('b, 'e) Stdlib.resultval and* :
('a, 'e trace) Stdlib.result ->
('b, 'e trace) Stdlib.result ->
('a * 'b, 'e trace) Stdlib.resultval let+ : ('a, 'e) Stdlib.result -> ('a -> 'b) -> ('b, 'e) Stdlib.resultval and+ :
('a, 'e trace) Stdlib.result ->
('b, 'e trace) Stdlib.result ->
('a * 'b, 'e trace) Stdlib.resultval join :
(unit, 'error trace) Stdlib.result list ->
(unit, 'error trace) Stdlib.resultval all :
('a, 'error trace) Stdlib.result list ->
('a list, 'error trace) Stdlib.resultval both :
('a, 'error trace) Stdlib.result ->
('b, 'error trace) Stdlib.result ->
('a * 'b, 'error trace) Stdlib.result