Header menu logo issie

ResultList Module

Running a list of operations that can fail, stopping at the first Error. Written out by hand this is a fold over Result whose accumulator is built with `got @ [x]`, which is quadratic and was repeated in half a dozen places. These are linear and are the only version.

Functions and values

Function or value Description

fold f state items

Full Usage: fold f state items

Parameters:
    f : 's -> 'a -> Result<'s, 'e>
    state : 's
    items : 'a list

Returns: Result<'s, 'e>

Thread a state through `f` for each item in turn. The first Error stops the walk and is returned; later items are not visited.

f : 's -> 'a -> Result<'s, 'e>
state : 's
items : 'a list
Returns: Result<'s, 'e>

iter f items

Full Usage: iter f items

Parameters:
    f : 'a -> Result<unit, 'e>
    items : 'a list

Returns: Result<unit, 'e>

Apply `f` to every item for its effect only.

f : 'a -> Result<unit, 'e>
items : 'a list
Returns: Result<unit, 'e>

sequence results

Full Usage: sequence results

Parameters:
    results : Result<'a, 'e> list

Returns: Result<'a list, 'e>

The list of Oks, or the first Error.

results : Result<'a, 'e> list
Returns: Result<'a list, 'e>

traverse f items

Full Usage: traverse f items

Parameters:
    f : 'a -> Result<'b, 'e>
    items : 'a list

Returns: Result<'b list, 'e>

Apply `f` to every item, collecting the results in order.

f : 'a -> Result<'b, 'e>
items : 'a list
Returns: Result<'b list, 'e>

Type something to start searching.