Skip to content
EN FR

Evaluation Automaton — Lambda and Application

Documentation status: reference — see Maturity and evidence.

The current functional grammar contains a lambda form and an expression-application mechanism.

Lambda as a value

Evaluating a lambda definition produces a callable value associated with the environment it needs.

lambda parameters body
  -> function / closure value

Application

Application is a multi-phase protocol:

evaluate function
  -> evaluate / bind arguments
  -> determine whether application is complete
  -> partial application OR body evaluation
  -> result

The engine explicitly provides a multi-state evaluation protocol for functional application, allowing body evaluation to be deferred until the appropriate point.

Closure and environment

A lambda is not only a pointer to syntax. Its value must preserve enough context to resolve required dependencies when the lambda is applied.

Currying and partial application

When the functional form permits it, incomplete application can produce a new function value instead of evaluating the final body immediately.

This capability follows naturally from the state-driven application protocol.