You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .machine_readable/6a2/STATE.a2ml
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ project = "affinescript"
6
6
version = "0.1.0"
7
7
last-updated = "2026-04-11"
8
8
status = "active"
9
+
session-note-2026-04-11-b = "BUG-005 CLOSED: WasmGC silent drop+null fallbacks replaced with explicit CodegenError (UnboundFunction for missing func_indices entries, UnsupportedFeature for indirect/higher-order calls). Effects runtime SHIPPED: TopEffect now registers each op as a PerformEffect-raising VBuiltin in interp.ml (was no-op). Multi-arg handler arg_vals bug fixed. ExprResume wired to __resume__ continuation in handler env. WasmGC path: TopEffect ops registered as unreachable stubs with correct func_indices offsets; ExprHandle and ExprResume reject with UnsupportedFeature (EH proposal or CPS transform required for full dispatch)."
9
10
10
11
[project-context]
11
12
name = "affinescript"
@@ -44,7 +45,7 @@ affine-types = "wired-and-reachable (Track A Manhattan plan complete 2026-04-10.
44
45
linear-arrows = "parse-only (-[q]-> syntax accepted by parser; quantity annotation not propagated into enforcement)"
45
46
borrow-checker = "phase-3-in-progress (see lib/borrow.ml [IMPL-DEP: Phase 3])"
46
47
row-polymorphism = "60% (records + effects rows implemented in typecheck/unify; not fully exercised end-to-end)"
47
-
effects = "declarations-only (effect types parsed and tracked; handler semantics not yet in interpreter or backends)"
48
+
effects = "interpreter-complete (handler dispatch, PerformEffect propagation, ExprResume, multi-arg ops all wired in interp.ml 2026-04-11). WasmGC: ops registered as unreachable stubs; ExprHandle/ExprResume reject with UnsupportedFeature — full WASM dispatch needs EH proposal or CPS transform."
48
49
dependent-types = "parse-only (TRefined AST node exists and refinement predicates parse, but predicates do not reduce; no SMT/decision procedure wired in)"
when the callee was not in the func_indices table, and did the same for
166
+
indirect calls. This was placeholder behaviour that produced wrong code rather
167
+
than failing loudly.
167
168
"""
168
-
evidence = "lib/codegen_gc.ml gen_gc_expr ExprApp case (the 38-line block added as part of the in-progress WasmGC work)"
169
-
fix-plan = "Replace silent drops with explicit CodegenError. Direct-call path (via func_indices) and int/float builtin coercions stay — they're correct. Only the fallback arms need to fail loudly."
170
-
regression-test = "Add a fixture that intentionally references an unknown function name and expects a loud compile error."
169
+
fix = "Both fallback arms replaced with explicit CodegenError. Direct-call miss → Error (UnboundFunction id.name). Indirect/higher-order callee → Error (UnsupportedFeature \"indirect / higher-order call in WasmGC backend (call_ref not yet implemented)\"). New UnboundFunction variant added to codegen_error and format_codegen_error. commit b58178a."
170
+
regression-test-status = "deferred — fixture needs a known-unknown function name in a WasmGC compile path"
171
171
172
172
# ─── Deferred upgrade: bring .machine_readable/ to current standards ──────────
173
173
# AffineScript predates most of the current hyperpolymath .machine_readable/
0 commit comments