89 lines
3.1 KiB
Markdown
89 lines
3.1 KiB
Markdown
# 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
|
|
|
|
1. Reconfirm callable and identity facts already settled by syntax/static/linking specs.
|
|
2. Close frontend-lowering obligations for function and callback forms.
|
|
3. Close frontend-lowering obligations for service/contract callable surfaces.
|
|
4. Close deterministic rejection policy for unsupported callable forms.
|
|
5. Record builtin/diagnostics gate closure points for Workshop 4.
|
|
|
|
## Decisions To Produce
|
|
|
|
1. Minimum callable metadata preserved by frontend IR for each callable category.
|
|
2. V1 support map for callable categories (`supported` versus deterministic reject).
|
|
3. Required diagnostics identity for rejected callable forms.
|
|
4. 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 `represented` or `rejected`,
|
|
- 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
|
|
|
|
1. Which callable category fields are mandatory in `IRBackend` today?
|
|
2. Which callable constructs remain deferred in v1 frontend scope?
|
|
3. What is the minimum fixture set to protect callable behavior regressions?
|
|
4. Which diagnostics codes must be fixed now versus later?
|
|
|
|
## Expected Outputs
|
|
|
|
1. a decision note on callable frontend-lowering obligations,
|
|
2. a decision note on callable support/rejection map,
|
|
3. 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.md`
|
|
- `docs/pbs/specs/12. Diagnostics Specification.md`
|
|
- `docs/pbs/specs/13. Lowering IRBackend Specification.md`
|
|
- `docs/general/specs/13. Conformance Test Specification.md`
|
|
- `docs/general/specs/14. Name Resolution and Module Linking Specification.md`
|
|
- `docs/pbs/agendas/13.2. IR and Lowering Workshop 2 - Control Flow, Evaluation Order, and Propagation.md`
|