Expand description
Types allowing to customize various aspects of the type system, such as type constraints and behavior of unary / binary ops.
Structs§
- Binary
OpContext - Code spans related to a binary operation.
- Bool
Arithmetic - Simplest
TypeArithmeticimplementation that defines unary / binary ops only on the Boolean type. Useful as a building block for more complex arithmetics. - Constraint
Set - Set of
Constraints. - Linearity
Constraintfor numeric types that can be subject to unary-and can participate inT op Num/Num op Toperations.- NumArithmetic
- Arithmetic on
Numbers. - OpConstraint
Settings - Settings for constraints placed on arguments of binary arithmetic operations.
- Ops
Constraintfor numeric types that can participate in binary arithmetic ops (T op T).- Struct
Constraint - Helper to define structural
Constraints, i.e., constraints recursively checking the provided type. - Substitutions
- Set of equations and constraints on type variables.
- Unary
OpContext - Code spans related to a unary operation.
Enums§
- Num
- Primitive types for the numeric arithmetic:
Numeric type andBoolean.
Traits§
- Constraint
- Constraint that can be placed on
Types. - Linear
Type - Primitive type which supports a notion of linearity. Linear types are types that can be used in arithmetic ops.
- MapPrimitive
Type - Maps a literal value from a certain
Grammarto its type. This assumes that all literals are primitive. - Object
Safe Constraint - Marker trait for object-safe constraints, i.e., constraints that can be included
into a
DynConstraints. - Type
Arithmetic - Arithmetic allowing to customize primitive types and how unary and binary operations are handled during type inference.
- With
Boolean PrimitiveTypethat has Boolean type as one of its variants.