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.