Thin facade for the lambda-calculus editor language. Re-exports the handful of types and functions that consumers (editor/ tests and ffi/lambda/) actually call through this path, sourced from the three currently-imported subpackages edits, eval, and companion. The other lambda subpackages (proj, flat) are not re-exported here — consumers that need them import the subpackage directly.
The facade was originally much larger; in 2026-05 it was trimmed to the symbols with live callers. Consumers that need more reach into the subpackages directly (see examples/ideal/main/moon.pkg).
Re-exported from lang/lambda/edits:
- type
TreeEditOp - type
DropPosition(canonical origin is@core;lang/lambda/editsre-re-exports it, so consumers see it through either path)
Re-exported from lang/lambda/companion:
- type
LambdaCompanion new_lambda_editor(agent_id, capture_timeout_ms?, parent_runtime?) -> (SyncEditor[Term], LambdaCompanion)apply_lambda_tree_edit(editor, companion, op, cursor)get_lambda_ast,get_lambda_ast_pretty,get_lambda_resolution,get_lambda_dot_resolvedparse_tree_edit_op
Re-exported from lang/lambda/eval:
- type
EvalResult
ffi/lambda/— JS FFI surface; callsnew_lambda_editor,apply_lambda_tree_edit,parse_tree_edit_op, and the AST/pretty accessors.editor/(blackbox tests only) — uses@lambda.get_lambda_astand related accessors to drive integration tests.examples/ideal/main/— additionally usesLambdaCompanion,EvalResult,DropPosition,TreeEditOp; importslang/lambda/editsdirectly for the rest.
lang/lambda/edits, lang/lambda/eval, lang/lambda/companion. The proj and flat subpackages exist but are not re-exported here; consumers that need them (none today) should import them directly.
Experimental — the lambda language is the reference implementation for new editor features. The facade surface evolves as features are wired up; expect re-exports to be added as new consumers appear.
There is no top-level logic in this package. Earlier revisions included a reconcile_ast.mbt file re-exporting @core.reconcile, which had no callers and was removed. The reference for incremental projection over the lambda AST lives in lang/lambda/flat (VersionedFlatProj, build_lambda_projection_memos); import that subpackage directly if needed.