MCPcopy Create free account
hub / github.com/argumentcomputer/ix / BlockCache

Class BlockCache

crates/compile/src/compile.rs:185–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183 /// Computed per original recursor name in `compile_mutual` after `sort_consts`.
184 pub call_site_plans: DashMap<Name, surgery::CallSitePlan>,
185 /// Per-`.brecOn` surgery plans. These share the motive permutation with
186 /// `.rec`, but `.brecOn` places indices+major before the handler binders,
187 /// so the telescope has to be rewritten by a separate layout rule.
188 pub brec_on_call_site_plans: DashMap<Name, surgery::BRecOnCallSitePlan>,
189 /// Per-`.below`-family surgery plans. A `X.below`/`X.below_N` HEAD has
190 /// the motive-only telescope `params, motives, indices, major`. For
191 /// Prop-level (IndPredBelow) families the map also carries the rest of
192 /// the family's user-visible surface under their own names — the
193 /// `.below` constructors (`X.below.succ`, …) and the `.below.casesOn`
194 /// wrapper. Those telescopes start with the below inductive's
195 /// parameters (parent params, then parent motives), so the same motive
196 /// permutation applies to `[n_params, n_params + n_source_motives)`
197 /// and everything after (ctor fields / casesOn
198 /// target-motive+indices+major+minors) rides along kept-identity —
199 /// but with NO major-premise floor: a field-less below ctor
200 /// (`EvenP.below.zero`) is fully applied at exactly params+motives.
201 /// The apply site discriminates the two telescope shapes by the key's
202 /// last component (`below`/`below_N` = head, anything else = family
203 /// member); `X.below.rec` is deliberately NOT registered (nothing
204 /// user-visible references it — only regenerated wrappers, which skip
205 /// surgery via the aux-regen guard).
206 pub below_call_site_plans: DashMap<Name, surgery::BRecOnCallSitePlan>,
207 /// Per-block nested-auxiliary layout (permutation + source ctor
208 /// counts) for each source `InductiveVal.all[0]` name. Used by:

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected