Primitive Types

WCL's primitive (scalar) types: variable-width and fixed-width integers, two float widths, the two text-like scalars, and the boolean. A bare integer literal defaults to i64; a suffix pins the exact width.

TypeDescriptionExample literal
utf8Variable-width Unicode text (the default string type)"hello"
boolBoolean truth valuetrue
i8 i16 i32 i64Signed integers of 8/16/32/64 bits (i64 is the default for a bare literal)-120i8
u8 u16 u32 u64Unsigned integers of 8/16/32/64 bits200u8
f32 f6432-bit and 64-bit floating point3.14f64
identifierA bare name used as a block label or idweb
symbolAn identifier-like tag value written with a leading colon:amber

Wider integers exist too

WCL also has i128/u128 and the pointer-width isize/usize, but i8-i64 and u8-u64 cover almost all schema work.

- Numbers

- Strings

- Booleans

- Symbols

- Identifiers