Axiom · dark
Standard modules
The standard library is treated as a FALL-like set of small deterministic modules, not a giant magical runtime.
| Module | Purpose | Rule |
|---|---|---|
core | basic types, result, option, view | no OS |
text | UTF, parsing, formatting | two-pass output |
math | arithmetic and geometry | deterministic operations |
math.bit | bit ops, CRC, target ops | unsupported capability = compile error |
io | stream abstractions | Self Type |
fs | files and paths | OS capability |
net | sockets and protocols | resumable operations |
time | monotonic/wall clock | explicit source |
sync | atomics, mutex, channel, task | semantic happens-before |
mem | bundle, two-pass, regions | no general heap |
target | target capabilities | compile-time info |
hardware | MMIO/GPIO/SPI/I²C | privileged boundary |
Bit operations are functions
Target-aware stdlibAxiom
1import math.bit23crc_packet(view<const u8> data) -> u32:4 RETURN math.bit.crc32(data)1
Bit functionality is imported explicitly.
4
A hardware-only operation gives a target capability error when unsupported instead of silently emulating.
Formatting without hidden allocation
Deterministic text outputAxiom
1make_log(u64 id, text state) -> two_pass<text>:2 RETURN text.format("job {}: {}", id, state)1
Formatting returns a planned operation.
2
The caller can ask for size, provide storage, then execute it.