Module types

Source
Expand description

The types module contains the base types for type-level primitives, as well as the “kind” traits, which are used to emulate the idea of a kind (a “type-of-types”.) The type operators themselves are kept in the strong module, in preparation for the eventual support of both “weak” (SFINAE-style) and “strong” (trait bounds always required) type operators.

Modules§

balanced
Signed, unbounded type-level integers represented in balanced ternary form. Int constants are provided, from SN81 (signed, negative 81) to S0 (signed zero) to SP81 (signed, positive 81). SN243 and SP243 are also provided.
boolean
Type-level booleans.
ternary
Unsigned, unbounded type-level integers through a ternary representation. Nat constants are provided, from U0 (unsigned zero) to U81 (unsigned 81) as well as 3^5 (U243.)