3.1 KiB
3.1 KiB
PBS Frontend IR and Lowering Workshop 3
Status: Active
Purpose
Run the third focused discussion for 13. Lowering IRBackend Specification.md on callable categories in frontend scope:
- top-level functions,
- callbacks,
- services,
- and contracts as source-level callable surfaces.
Why This Slice Third
Callable categories depend on the core expression/control-flow obligations from Workshop 2 and now need explicit frontend representation/rejection boundaries.
Proposed Meeting Order
- Reconfirm callable and identity facts already settled by syntax/static/linking specs.
- Close frontend-lowering obligations for function and callback forms.
- Close frontend-lowering obligations for service/contract callable surfaces.
- Close deterministic rejection policy for unsupported callable forms.
- Record builtin/diagnostics gate closure points for Workshop 4.
Decisions To Produce
- Minimum callable metadata preserved by frontend IR for each callable category.
- V1 support map for callable categories (
supportedversus deterministic reject). - Required diagnostics identity for rejected callable forms.
- Required regression fixtures for callable categories in Gate U.
Candidate Decisions
1. Callable Identity Must Be Explicit In Frontend IR Contract
Candidate direction:
- callable name/category/arity/source attribution are mandatory preserved facts,
- regardless of internal object-model differences.
2. Callback/Service/Contract Surfaces Need Explicit V1 Status
Candidate direction:
- each callable surface is classified now as
representedorrejected, - with no silent fallback behavior.
3. Unsupported Callable Forms Are Deterministic Diagnostics
Candidate direction:
- unsupported callable patterns must emit stable diagnostics,
- and become mandatory regression tests.
4. Gate U Must Cover Callable Categories Explicitly
Candidate direction:
- representative valid+invalid fixtures per callable category are mandatory,
- including diagnostics assertions for rejected forms.
Questions To Resolve In The Room
- Which callable category fields are mandatory in
IRBackendtoday? - Which callable constructs remain deferred in v1 frontend scope?
- What is the minimum fixture set to protect callable behavior regressions?
- Which diagnostics codes must be fixed now versus later?
Expected Outputs
- a decision note on callable frontend-lowering obligations,
- a decision note on callable support/rejection map,
- and Gate U fixture requirements for callable categories.
Explicit Deferrals For Workshop 4
- builtin-specific lowering obligations,
- and final diagnostics/gate packaging for spec closure.
Inputs
docs/pbs/specs/4. Static Semantics Specification.mddocs/pbs/specs/12. Diagnostics Specification.mddocs/pbs/specs/13. Lowering IRBackend Specification.mddocs/general/specs/13. Conformance Test Specification.mddocs/general/specs/14. Name Resolution and Module Linking Specification.mddocs/pbs/agendas/13.2. IR and Lowering Workshop 2 - Control Flow, Evaluation Order, and Propagation.md