Std.Io.foldLines
1 declaration
fn
foldLines: Str -> T -> fn(T, Str) -> T -> Result[T, Std.Io.IoError]This is a callable function.
What it does
Combine every line of a file into one value, holding one chunk at a time.
A line is split on the newline wherever it falls, including across the
boundary between two chunks, so what a caller sees does not depend on how
the file happened to be divided. Text that is not a valid encoding is
reported rather than replaced: a substituted character would make a broken
file look like a readable one.
The value is threaded rather than gathered by the step function, for the
same reason a sequence passes its state: a function literal carries a copy
of what it captured, so a step that assigned to a variable outside itself
would leave that variable as it found it.
Read the signature
- The text after the name is the type checked by Pudu.
- Read arrows from left to right: inputs come first, and the final type is returned.
- Names inside [ ] are type arguments, such as the item type held by a collection.
- Result makes success and recoverable failure part of the function's type.
