Types
All numbers — integers and floats are one unified type: an IEEE-754 double (64-bit float).
x = 42y = 3.14z = x + y ~ mixed arithmetictrue / false (the literals are lowercase; note that a Bool renders as capitalized
True/False — see interpolation).
Unit — $
Section titled “Unit — $”The unit type, written $. It has exactly one value, also written $ — so $ is
both the type (in type position, e.g. -> $) and its sole value (in value position),
analogous to () in Rust/ML. Use it for side-effecting expressions and functions whose
result is meaningless. print and eprint return $. $ is compatible only with $.
log = (m :: Text) -> $ => print(m) ~ a function whose result is meaningless^ = () -> $ => log("started") ~ a `$` body exits 0 (it is not a Num)Arrays ([]T) live with the other built-in parametric collections — see
collections/arrays.md.