0%

LLVM backend: descriptor projection

Goal

The compiled backend projects the same descriptor, so a compiled program constructs an imported newtype/variant identically to the evaluator.

Implementation Sketch

Consume the descriptor in the LLVM import path (compiler/ori_llvm import lowering / oric build path); emit the imported newtype/variant constructor binding from it, never re-deriving classification or visibility. Orphan-variant reachability: a value from an imported variant reaches its parent type’s inherent methods + trait impls through type-directed resolution.

Spec References

Proposal Semantics (Backend neutrality descriptor; a backend re-deriving is a layering violation); Orphan-variant import (trait/method reachability).

Work Items

  • LLVM import lowering consumes the descriptor and emits imported newtype/variant constructor bindings; orphan-variant method/trait reachability holds; debug+release.