Desired function
Lift machine-level traps and other low-level failures into structured language-level exceptions and logic semantics with consistent unwinding.
Futamura role
Shapes the error component of run; must be preserved under all projections and compilation.
Inputs
- Machine traps, signals, syscall error codes
- assembly/C/FFI stubs
- Unwinding tables, frame metadata.
- interpreted and compiled code segments
Processing
- Catch at assembly/C boundary; map to language-level exception values.
- Integrate with logic semantics (“choice between success and exception resolves to success” where allowed).
- Manage unwinding tables, return codes, stack reification for debuggers and abstract values.
- Maintain consistent unwinding semantics across interpreted and compiled frames.
Outputs
- Structured exceptions at language level.
- Stack inspection/unwinding behavior usable by debugger, profiler, and verification.
- Consistent unwinding semantics across compiled and interpreted code.
Desired function
Lift machine-level traps and other low-level failures into structured language-level exceptions and logic semantics with consistent unwinding.
Futamura role
Shapes the error component of
run; must be preserved under all projections and compilation.Inputs
Processing
Outputs