Imaginary Types
Imaginary types are types which cannot be materialized into a runtime type directly. These types are a major component of the const programming model, and they allow passing around more abstract compile-time constructs like strings, literals, expressions and more.
The following table describes all currently implemented imaginary types and their usages:
Name |
Literal |
Summary |
---|---|---|
|
|
A sequence of characters. |
|
|
A string, integer, real, boolean or character literal. |
|
|
Any expression. |
|
|
Any qualified or unqualified identifier. |
|
|
Any single token. |
|
none |
Used to define a local va_list for C-interop. |