Pudu programming language
Menu
API reference

Std.Text.Parse.orElse

1 declaration

fn

orElse: fn(Std.Text.Parse.Input) -> Result[(T, Std.Text.Parse.Input), Std.Text.Parse.Problem] -> fn(Std.Text.Parse.Input) -> Result[(T, Std.Text.Parse.Input), Std.Text.Parse.Problem] -> fn(Std.Text.Parse.Input) -> Result[(T, Std.Text.Parse.Input), Std.Text.Parse.Problem]

This is a callable function.

What it does

The first parser, or the second when the first consumed nothing.

A parser that failed after consuming input does not fall through: the

input it read told it which branch was meant, and trying another would

report a problem from the wrong one. A caller who wants the fallback anyway

wraps the first in attempt.

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.Text.ParseSearch related declarations