Skip to main content

Module type_pattern

Module type_pattern 

Source
Expand description

Schema-level type patterns used to describe receivers, parameters, and results in the method catalog (§16.2).

This is not the inference type system — that lives in praxis-typeck. TypePattern is a small, self-describing shape language, enough to populate the catalog and to be unified with the real type representation. Keeping it separate is what keeps praxis-stdlib from depending on praxis-typeck.

Enums§

Bound
What a catalog type variable is required to be.
CollectionCtor
Built-in collection constructors (§6.1). Range and BitSet take no type arguments; the others take one (Vec, Set, …) or two (Map).
ScalarType
Built-in scalar types (§4.3). The full set is named here even though UInt has no runtime object of its own (§7.4: its type is Int) — these names must not be reused for anything else.
TypePattern
A pattern describing a type shape in a catalog entry.

Constants§

PIPELINE_RECEIVERS
The collection constructors a TypePattern::Iterable receiver accepts (ADR-127 decision 1) — the for loop’s list minus Grid and Seq.

Functions§

is_pipeline_receiver
Whether a concrete receiver pattern is one of the ten a TypePattern::Iterable row accepts (ADR-127 decision 1).
pattern_matches
Whether a catalog receiver pattern accepts a concrete runtime pattern.