Built-in Types
The usual array of built-in primitive types you would expect from a C-style language are available.
Additionally, dynamic arrays and slices are currently built-in, and thus magical. Our intent is to make them increasingly less magical as we add low-level features to the language, but this is not a priority: if keeping them magical greatly benefits compile times, or enables some form of useful high-level optimization that we cannot otherwise replicate, we will keep them as they are.
Built-in Arithmetic Primitives
..i8: Fixed size signed integers.i128..u8: Fixed size unsigned integers.u128andf32: Single and double precision floating point numbers.f64andint: Integral types guaranteed to be the same size as array indices.uint
Built-in Non-Arithmetic Primitives
: A Boolean type, the type ofbool,trueand the result of the logicalfalse!operator.: A non-arithmetic byte type, used to represent opaque binary data, including strings.byte: The zero-size return type of blocks and functions that do not produce a value.void: The empty return type of functions and expressions that never terminate.never: The zero-size type of the default-initialization expression, which can convert to any type that supports default-initialization.[]
Zero Initialization
TODO
Built-in Structural Types
<T>[]: The built-in Dynamic Array type.<T>[..]: The built-in Slice type.
TODO