Pudu programming language
Menu
API reference

Std.Text.Parse.lazy

1 declaration

fn

lazy: fn() -> 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

A parser built only when it is run.

A recursive grammar needs this and cannot be written without it: a rule that

mentions itself would build itself forever at the moment it was defined.

Wrapping the mention defers it to the moment it is used, which is when the

input decides whether the recursion happens at all.

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