Standard Library
Zena includes an expanding standard library. The goal is for the standard library to be fairly extensive, so that there are standard ways of performing common tasks without requiring third-party dependencies, and to give the Zena ecosystem common patterns, utilities, and data types to build upon.
WARNING
The standard library is in active development and is currently being reorganized. Module structure, naming, and APIs are experimental and subject to change.
See these GitHub issues for major upcoming changes:
Modules
| Module | Description |
|---|---|
zena:array
|
2 declarations |
zena:array-iterator
|
1 declaration |
zena:assert
|
18 declarations |
zena:async
|
zena:async — futures, the executor, cancellation scopes, and the task/claim layers over them (docs/design/async.md, docs/design/cancellation.md). |
zena:bench
|
zena:bench — a Tachometer-style benchmark runner (CLI-only). |
zena:box
|
1 declaration |
zena:byte-array
|
2 declarations |
zena:byte-buffer
|
ByteBuffer - A growable buffer for efficiently constructing binary data. |
zena:cli
|
CLI Standard Library - Command-Line Interface Utilities |
zena:collections
|
17 declarations |
zena:component-abi
|
29 declarations |
zena:console
|
6 declarations |
zena:core
|
zena:core — the standard library's foundation: the types the language itself is defined in terms of, and the utilities they are built from. |
zena:error
|
5 declarations |
zena:error-stack
|
3 declarations |
zena:fixed-array
|
2 declarations |
zena:fs
|
Filesystem Standard Library - WASI Preview 1 Implementation |
zena:growable-array
|
2 declarations |
zena:growable-array-iterator
|
1 declaration |
zena:hashable
|
3 declarations |
zena:immutable-array
|
1 declaration |
zena:iterable-utils
|
3 declarations |
zena:iterator
|
2 declarations |
zena:json
|
10 declarations |
zena:map
|
6 declarations |
zena:math
|
57 declarations |
zena:memory
|
5 declarations |
zena:option
|
Option type for representing optional values without null. |
zena:ordered-map
|
1 declaration |
zena:ownership
|
Ownership and resource management — the layer 0 drop protocol. |
zena:process
|
zena:process — spawning host processes from Zena programs. |
zena:range
|
Range types for Zena. Represents different types of ranges for array slicing and iteration. |
zena:regex
|
7 declarations |
zena:result
|
4 declarations |
zena:set
|
2 declarations |
zena:simd
|
242 declarations |
zena:stream
|
11 declarations |
zena:string
|
4 declarations |
zena:string-builder
|
2 declarations |
zena:string-convert
|
String conversion functions for primitive types |
zena:string-reader
|
1 declaration |
zena:task
|
zena:task — operations as values (docs/design/cancellation.md; PLAN.md, async roadmap). |
zena:template-strings-array
|
3 declarations |
zena:test
|
9 declarations |
zena:time
|
6 declarations |
zena:url
|
8 declarations |