Skip to content

Resolution

The compiler mixin that resolves QVR ObjectExpr ASTs to runtime SetObject and ContinuousSpace values. A single walk handles both strata, so a mixed-domain product such as Real 3 * Token resolves to one ProductSpace.

Internal module

This module is an implementation detail of the compiler and its tooling. Its __all__ is empty, so none of the names below are part of the public API, and they may change without notice.

resolution

Compiler mixin: unified type resolution.

A single _resolve_any_space walks any ObjectExpr to either a SetObject (discrete) or a ContinuousSpace (continuous). The _resolve_type and _resolve_space forwarders are type-narrowing wrappers so callers that already know they want a discrete object can demand one without re-encoding the constraint in every call site.

ContinuousCtorSpec didactic-model

ContinuousCtorSpec(*, size_fields: tuple[str, ...], option_fields: tuple[str, ...] = (), fuses_sizes: bool = False)

Bases: Model

The calling convention of one surface continuous constructor.

ATTRIBUTE DESCRIPTION
size_fields

Names of the size arguments, in surface order. Their count is the constructor's positional arity and their names appear verbatim in the arity diagnostic.

TYPE: tuple of str

option_fields

Names the brace-block keyword arguments may take.

TYPE: tuple of str

fuses_sizes

Whether extra size arguments fuse into the single size slot by multiplication (Real 4 8 denotes :math:\mathbb{R}^{32}) rather than being an arity error.

TYPE: bool