Skip to content
EN FR

FPLN Evaluation Automata

Documentation status: architecture — see Maturity and evidence.

Evaluation automata describe how an expression progresses through preparation, subexpression evaluation, context changes, value production, and completion.

They correspond to a real engine mechanism: strategies are registered by expression type and state and resumed by the execution loop.

Why automata?

This approach makes it possible to:

  • suspend an expression while a dependency is evaluated;
  • resume it at the correct state without losing context;
  • share one protocol across multiple paradigms;
  • separate strategy structure from implementation details;
  • diagnose the exact stage of an evaluation;
  • evolve expression families without building a monolithic interpreter.

Families

Main families include:

  • control flow;
  • functional application and lambdas;
  • collection operators;
  • resolution and access;
  • pattern matching;
  • operations requiring several context phases.

Forms confirmed by the current grammar

The current functional grammar contains forms including if ... then ... else, for ... to ... do, lambda, map, and expression application.

The pages below document their public evaluation model, not the private classes used to implement them.

See also Evaluation state machines.