Skip to main content

Standard library

Edva provides a modular standard library under std/. Standard library modules are imported explicitly with #use <name> (for example #use io, #use str). Standard stream writers and readers live in std/io.dva.

Module Purpose Reference
ascii ASCII byte classification and hex conversion ascii
base64 RFC 4648 standard Base64 and URL-safe Base64URL encoding and decoding base64
bench monotonic-clock microbenchmarking and throughput reporting bench
binary endian-aware scalar readers/writers, LEB128 varints, and #! binary packing binary
ccl CCL parser, manifest, lockfile validation, and #! typed codec ccl
cli declarative and #! structural command-line option parsing and --help cli
color color spaces, alpha compositing, gradients, hex packing; includes color/palette color
const fundamental mathematical and geometric constants (pi, tau, e, phi, etc.) const
crypto SHA-1/256/512, HMAC, HKDF, PBKDF2, ChaCha20-Poly1305 AEAD, and CSPRNG crypto
csv RFC 4180 CSV/TSV reader/writer and #! structural typed row codec csv
deque generic ring-buffer double-ended queue deque
event portable descriptor readiness multiplexing (poll) event
flate RFC 1951 DEFLATE, RFC 1950 Zlib, and RFC 1952 Gzip compression and decompression flate
fmt allocation-efficient string formatting fmt
fp functional programming combinators fp
fs paths, file I/O, directory traversal, and filesystem stats fs
hash FNV-1a, WyHash, CRC-32, Adler-32, and #! structural hashing hash
heap generic binary min/max/custom priority queue heap
hex RFC 4648 Base16 hexadecimal encoding and decoding hex
http outbound HTTP/1.1 client, connection pool, SSE, and RFC 6455 WebSocket client http
img lossless RGBA8 Image buffer and QOI / PNG encoders and decoders img
in input readers and line scanning in
io readers, writers, and standard streams io
json JSON parsing, value tree, and #! structural typed codec json
kv Bitcask-inspired log-structured persistent key-value store with #! typed values kv
libc POSIX and C library bindings libc
log leveled and #! structured key=value logging with ANSI color and file routing log
math math bindings, vectors; includes complex and geom math
mem arenas, fixed object pools, and low-level memory mem
net network primitives; includes net/http net
os hosted operating-system operations, environment, and subprocess pipelines os
path cross-platform lexical path manipulation and glob matching path
rand xoshiro256** PRNG, OS entropy seeding, distributions, and shuffling rand
regex linear-time Thompson NFA / PikeVM regular expression engine regex
set generic hash-backed and structural array-backed sets set
sort sorting helpers and comparator cycles sort
str string conversion and manipulation str
sys process parameters, arguments, and exit sys
test unit test assertions, #! structural equality, suites, and summary reporting test
time wall-clock and monotonic timers, civil calendar dates, and ISO/RFC formatting time
type compile-time type predicates type
unicode Unicode and UTF-8 helpers unicode
uring Linux io_uring asynchronous I/O uring
url RFC 3986 URL parsing, resolution, percent-encoding, and #! query codec url
utf UTF-8 rune encoding and decoding utf

Target-support files are implementation probes, not public API. Dedicated reference pages are provided for all 44 standard library modules.

#use io
#use str

io::out $ str::from_int(42)