Back to Eqiora docs Skip to main content

Module typing

Module typing 

Description

Typing rules for residual expressions, generic over the identity type.

The rules deal with dimensions, scalar and tensor shape, and spatial support, and know nothing about source spans, graph paths, syntax, or storage. Compilers and semantic validators supply their own identity type and map a TypeViolation to a diagnostic location in their own layer.

Structs§

ExpressionType
Complete static type of one residual-expression value.
TraceRegularityChecker
Incremental boundary-regularity check over already typed expression nodes.
TypedResidual
A fully inferred residual DAG.

Enums§

RootContract
Meaning of the roots of one typed expression DAG.
SpatialSupport
Spatial support of an expression value.
TypeViolation
Typing failure that keeps the identities involved; the caller chooses the diagnostic.
TypedResidualError
A local failure while inferring a TypedResidual.

Functions§

additive
Add or subtract two typed expressions.
divergence
Type a physical-space divergence.
divide
Divide by one typed scalar expression.
gradient
Type a physical-space gradient.
isotropic_lift
Type an isotropic lift; the tensor extent comes only from the volume support.
multiply
Multiply two typed expressions using scalar-times-tensor v0 semantics.
normal
Type a normal contraction: parent-outward on a boundary, or along the declared common normal on a physical interface.
power
Raise one scalar expression to an integer power.
residual
Check one residual root against its Relation scope.
symmetric_part
Type the symmetric part of a square Cartesian tensor.
time_derivative
Divide a dimension by the time power of a Field derivative’s order.
trace
Type a boundary trace.
unary_math
Type one supported unary mathematical application.