Pudu programming language
Menu
API reference

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.

Back to Std.IoSearch related declarations