Expand description
Pack registration: PackDef and load_registered_packs (§7.0).
Structs§
- KindRow
- One row of the const kind table the
pack!macro emits. Authored kinds carrycompanion: false; auto-registered inverse companions (R-T4) carrycompanion: true. Companions get no type triples and therefore cannot be authored directly (the R-T17 lookup fails for them). - PackDef
- Compiled result of a
pack!invocation. Registered withinventory::submit!. - Pack
Registration - Registration hook emitted by the
pack!macro.inventoryonly accepts const-constructible values andPackDefcarries heap data (Vec, heapSmolStr), so packs register a builder function instead; the ontology assembly invokes each builder once at load time. - Pack
Version - Semantic version triple for packs and kernel compatibility.
- Type
Triple - A type-triple rule: which
(from_type, kind, to_type)combinations are permitted (§7.15).
Functions§
- kernel_
const_ by_ name - Resolve a kernel-constant name (as written in a
kernel_const:DSL field) to itsRelKindId. The closed kernel-constant list fromkinds.rs. - load_
registered_ packs - Called once at process startup. Consumes every
inventory::submit!in the linked binary and produces the effective ontology. Fails if: - rule_
ids_ from_ source - Extract rule ids from a
crepe_rules!block source. Rules arepred(args) <- body;— the id is the leading identifier of each;-terminated rule. Deterministic; used by thepack!builder.