Pudu programming language
Menu

Std.Tree.mapResult

1 declaration

fn

mapResult: &Std.Tree.Tree[A] -> fn(A) -> Result[B, E] -> Result[Std.Tree.Tree[B], E]

This is a callable function.

What it does

Every value transformed, keeping the shape, where transforming may fail.

The first failure is the answer and the rest is not attempted, because a

tree half-transformed is not a tree anyone asked for. This is written for

`Result` rather than for whatever a caller's failure happens to be: naming

the carrier would need a type parameter that stands for a type constructor,

which the language does not have.

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.
  • & borrows a value for this call instead of moving or copying it.
  • 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.TreeSearch related declarations