One page per module. Every module is a standalone header under
include/cyan/; include <cyan/cyan.h> to pull in everything at once, or
include individual headers to keep compile times down.
- Primitive types:
i32,u64,f32and friends - Option: explicit nullable values with combinators
- Result: explicit error handling with
try_okearly returns - Pattern matching:
matchover Option and Result
- Vector: growable arrays with push/pop/insert/remove, find, sort, and iteration
- Slice: non-owning bounds-checked views
- String: growable text with search, trim, split, and compare
- HashMap: open-addressing maps, a string-keyed variant, and iteration
- HashSet: membership testing built on HashMap's engine
- Defer: scope-exit cleanup, RAII-style
- Smart pointers: unique, shared, and weak pointers with auto-release
- Coroutines: stackful cooperative multitasking over ucontext (experimental)
- Channels: CSP-style communication, coroutine-aware
- Functional: map, filter, reduce, foreach
- Serialization: S-expressions with atoms, symbols, nested lists, and round-tripping
- Bit-width integers: Zig-style
uN/iNwrap-around integers - Bitset: fixed-size flag collections with named flags
- Method-style macros: the type-first macro convention
- Panic handler: what panics, and how to override it
- Configuration: compile-time options and feature detection
- Examples: the twenty runnable programs in
examples/
Version history lives in the changelog.