Render Module
Tier 4 - Render: F# source text plus the fidelity manifest, from the shaped model alone. The printer is generator-owned (decision O2): no formatter dependency, golden stability over delegated style, and the compile gate absorbs the correctness risk. The tier's invariant is byte-identical output for an identical model - nothing here may consult the clock, the environment, or hash order.
Types
| Type | Description |
|
One module a run writes: a group's declarations under the module name that group templates to (O7). |
|
|
|
|
|
|
|
|
|
|
|
A pass's tallies: only the non-zero ones are written, so a pass that raised nothing at any tier is just its label. |
|
|
|
Functions and values
| Function or value |
Description
|
|
|
|
The name a declaration is written under. `Exports` gathers the module's value exports and carries no name of its own.
|
Full Usage:
ident name
Parameters:
string
Returns: string
|
Source names are kept verbatim (mapping doc ยง4.14); anything F# rejects as an identifier is backticked rather than renamed.
|
|
The tier's pass list, in execution order, for a run that writes the entry package alone. The pipeline runs the two halves separately, so the manifest reports what group emission found; a caller with no group plan gets the whole tier in one list.
|
|
A literal as attribute-argument source text: `CompiledName`/`CompiledValue` payloads.
|
|
|
|
The fidelity report: which pass widened what, and why, per exported symbol.
|
|
The run's source files, one per shipped group (O7), and the record of what each group's emission came to. The entry package's module is written at the output root and every other shipped group under `groups/`, so a consumer compiling the whole output compiles `groups/` first: a module is written before the one naming its types. An empty plan writes the entry package alone, from every declaration the model carries.
|
Full Usage:
stringLit text
Parameters:
string
Returns: string
|
An F# string literal with the escapes source text needs.
|
Full Usage:
symbolTiers model
Parameters:
RenderModel
Returns: (string * Tier * Finding list) list
|
Per-symbol fidelity: every generated declaration in output order, then any finding subjects that produced no declaration (drops, table-level findings), each with its worst tier.
|