Logo Xantham

TypeRefRender Module

Types

Type Description

SRTPHelper

Functions and values

Function or value Description

anchor anchorPath typeRefRender

Full Usage: anchor anchorPath typeRefRender

Parameters:
Returns: TypeRefRender
anchorPath : AnchorPath
typeRefRender : TypeRefRender
Returns: TypeRefRender

anchorAndLocalise anchorPath typeRefRender

Full Usage: anchorAndLocalise anchorPath typeRefRender

Parameters:
Returns: TypeRefRender
anchorPath : AnchorPath
typeRefRender : TypeRefRender
Returns: TypeRefRender

collapseOpaquePrefixes collapseRoots render

Full Usage: collapseOpaquePrefixes collapseRoots render

Parameters:
Returns: TypeRefRender

OPAQUE/ERASED PREFIX COLLAPSE: generic applications whose HEAD is an opaque-handle or Erased advisory path carry policy-meaningless arguments (`Zod.ZodType<...garbage...>`, `Erased.X<...>`) — and malformed arg trees (`obj<...>`) break compilation. Collapse the whole application to the head atom; the phantom-arity interfaces make surviving shallow applications legal, this makes DEEP/broken ones vanish. Roots = ErasedRoots + "Erased" + handles.

collapseRoots : string list
render : TypeRefRender
Returns: TypeRefRender

create nullable kind

Full Usage: create nullable kind

Parameters:
    nullable : bool
    kind : ^T

Returns: TypeRefRender
Modifiers: inline
Type parameters: ^T (requires (static member Create : Microsoft.FSharp.Core.bool * ^T -> Xantham.Generator.Types.Anchored.TypeRefRender))
nullable : bool
kind : ^T
Returns: TypeRefRender

isErasedBase render

Full Usage: isErasedBase render

Parameters:
Returns: bool

A base whose path was rewritten to the `Erased.*` advisory aliases (the policy substitution's output contract) cannot be inherited — the alias IS `obj`. Checked at anchor time like `isInterfaceBase` (post-localise atoms are opaque Widgets); every drop is ledgered by the caller.

render : TypeRefRender
Returns: bool

isInterfaceBase render

Full Usage: isInterfaceBase render

Parameters:
Returns: bool
render : TypeRefRender
Returns: bool

localise anchorPath typeRefRender

Full Usage: localise anchorPath typeRefRender

Parameters:
Returns: TypeRefRender
anchorPath : AnchorPath
typeRefRender : TypeRefRender
Returns: TypeRefRender

mapAtoms f render

Full Usage: mapAtoms f render

Parameters:
Returns: TypeRefRender

Map every ATOM in a render, recursing through all molecule shapes — the ONE walk the scrubbers share (no mirrored walks).

f : TypeRefAtom -> TypeRefAtom
render : TypeRefRender
Returns: TypeRefRender

nonNullable typeRefRender

Full Usage: nonNullable typeRefRender

Parameters:
Returns: TypeRefRender
typeRefRender : TypeRefRender
Returns: TypeRefRender

nullable typeRefRender

Full Usage: nullable typeRefRender

Parameters:
Returns: TypeRefRender
typeRefRender : TypeRefRender
Returns: TypeRefRender

orNullable nullable typeRefRender

Full Usage: orNullable nullable typeRefRender

Parameters:
Returns: TypeRefRender
Modifiers: inline
nullable : bool
typeRefRender : TypeRefRender
Returns: TypeRefRender

scrubForwardRefs order ledger hostRoot render

Full Usage: scrubForwardRefs order ledger hostRoot render

Parameters:
    order : string list
    ledger : string -> unit
    hostRoot : string option
    render : TypeRefRender

Returns: TypeRefRender

FORWARD-REFERENCE SCRUB: under a placement order (unit DAG), a reference from a definition hosted at unit index H to a type rooted at index R > H points FORWARD in the DAG — uncompilable by construction. Degrade the atom to `obj`, LEDGERED via the callback (Types layer stays context-free).

order : string list
ledger : string -> unit
hostRoot : string option
render : TypeRefRender
Returns: TypeRefRender

scrubUndefinedHomeChildren homePaths definedPaths ledger render

Full Usage: scrubUndefinedHomeChildren homePaths definedPaths ledger render

Parameters:
Returns: TypeRefRender

HOME-CHILD DEF/REF CLOSURE SCRUB (the ledgered "around" for the multi-member shared-rt class — history in partition-gate.baseline 2026-07-04 (6)/(7)): a path atom whose MODULE chain passes through a canonical shared-literal home (the home TYPE as a module segment) names a nested def that per-site leaf stamping can mint with no def to match — one rt referenced through several members, while the rt-keyed TypeStore registers exactly ONE def. Once the fixpoint drive has materialized every child def, a home-child path outside `definedPaths` can never resolve: degrade the atom to `obj`, LEDGERED via the callback (keyed by the home). Inactive until the caller arms it with non-empty home paths (the post-drive second round); paths are compared as dotted `valueOrModified` segment strings.

homePaths : HashSet<string>
definedPaths : HashSet<string>
ledger : string -> unit
render : TypeRefRender
Returns: TypeRefRender

setNullable nullable typeRefRender

Full Usage: setNullable nullable typeRefRender

Parameters:
Returns: TypeRefRender
Modifiers: inline
nullable : bool
typeRefRender : TypeRefRender
Returns: TypeRefRender

substituteForHeritage inScopeTyparNames render

Full Usage: substituteForHeritage inScopeTyparNames render

Parameters:
Returns: TypeRefRender
inScopeTyparNames : Set<string>
render : TypeRefRender
Returns: TypeRefRender

Type something to start searching.