# Primitive types * int8, uint8 -> QBE b, w * int16, uint16 -> QBE h, w * int32, uint32 -> QBE w, w * int64, uint64 -> QBE l, l # Coercion * Integer widening # Declaration and mutability * Variables need to be declared before being used * All declarations (including globals and implicit declarations from imports) must be above their first use * Redeclarations ("shadowing") are forbidden * Variables may be changed using the "assign" statement * Constants cannot be changed, but mutables can * Local mutables are allocated on the stack, local constants are QBE temporaries