Standard library
The modules the compiler ships, documented from their own source by the compiler's reflection - the same text hanki doc <module> prints. Core modules are ambient: their qualified names resolve with no import. Extra modules are import-gated: use <module> first.
Core
- str - stdlib/str.hk: methods on the
stringtype. - bytes - stdlib/bytes.hk: methods on the
bytestype. - bytes_builder - stdlib/bytes_builder.hk: the
BytesBuildermutable byte buffer. - bytes_reader - stdlib/core/bytes_reader.hk: the
BytesReadercursor overbytes. - string_builder - stdlib/string_builder.hk: the
StringBuildermutable text buffer. - file - stdlib/core/file.hk: methods on the
Fileresource type. - stream - stdlib/core/stream.hk: the
Streamtrait, a byte transport that can be read, written, and closed. - socket - stdlib/core/socket.hk: methods on the
TcpStreamandTcpListenerresource types. - tls_stream - stdlib/core/tls_stream.hk: methods on the
TlsStreamresource type. - tls_listener - stdlib/core/tls_listener.hk: methods on the
TlsListenerresource type. - display - stdlib/display.hk: the Display trait and its builtin impls.
- option - stdlib/option.hk: Option<T> and its helpers.
- result - stdlib/result.hk: Result<T, E> and its helpers.
- from_string - stdlib/core/from_string.hk: text to value, the failure type and the trait.
- eq - stdlib/eq.hk: the Eq trait and its builtin impls.
- ord - stdlib/ord.hk: the Ord trait and Ordering, a total ordering.
- ops - stdlib/core/ops.hk: the operator traits, Add and Sub.
- hash - stdlib/core/hash.hk: the Hash trait and its builtin impls.
- pair - stdlib/core/pair.hk: Pair<A, B>, the generic two-field product.
- numeric - stdlib/core/numeric.hk: the Numeric trait, the zero and one identities and the add/mul combining steps, one impl per numeric type.
- list - stdlib/list.hk: List<T> as methods on
impl<T> List<T>. - manifest - stdlib/manifest.hk: read a built shared module's
.hanki_manifestELF section as reflected values: the data behindhanki inspect, exposed so a Hanki tool can render it (the inspect port) without re-implementing the ELF-section extract + wire-format decode. - serializer - stdlib/core/serializer.hk: the
Serializerformat abstraction and the built-in binary serializer. - deserializer - stdlib/core/deserializer.hk: the
Deserializerformat abstraction and the built-in binary deserializer. - encode - stdlib/core/encode.hk: the
Encodetrait and its builtin impls. - map - stdlib/core/map.hk: immutable Map<K, V> keyed by Hash.
- set - stdlib/core/set.hk: Set<T>, a persistent set as a thin keys-only layer over the core Map HAMT.
- gen - stdlib/core/gen.hk: the property-testing generator core.
- arbitrary - stdlib/core/arbitrary.hk: the
Arbitrarytrait and its built-in instances. - decode - stdlib/core/decode.hk: the
Decodetrait and its builtin impls. - codec - stdlib/core/codec.hk: pure-callable serialization entry points.
- validation - stdlib/core/validation.hk: ValidationError, the
where-block failure. - range - stdlib/core/range.hk: Range, half-open [lo, hi) integer iteration.
- secret - stdlib/core/secret.hk: Secret, material the renderers refuse to print.
- int - stdlib/int.hk: inherent assoc fns on
int. - i8 - stdlib/i8.hk: inherent conversion methods on
i8. - i16 - stdlib/i16.hk: inherent conversion methods on
i16. - i32 - stdlib/i32.hk: inherent methods and assoc fns on
i32. - i64 - stdlib/i64.hk: inherent conversion methods on
i64. - u8 - stdlib/u8.hk: inherent conversion methods on
u8. - u16 - stdlib/u16.hk: inherent conversion methods on
u16. - u32 - stdlib/u32.hk: inherent conversion methods on
u32. - u64 - stdlib/u64.hk: inherent conversion methods on
u64. - f32 - stdlib/core/f32.hk: methods on the
f32fixed-width float. - f64 - stdlib/f64.hk: bit-level methods on the
f64fixed-width float. - test - stdlib/core/test.hk: assertion conveniences for test blocks.
- decimal - stdlib/core/decimal.hk: text into the
decimaltier, and the bridges back out of it. - rational - stdlib/core/rational.hk: conversion bridges off the
rationaltier. - actor - stdlib/actor.hk: actor-runtime types surfaced to user code.
- sys - stdlib/core/sys.hk: the native OS-capability seam.
- module - stdlib/core/module.hk: dynamic Hanki module loading.
- config - stdlib/core/config.hk: configuration files, at build time and at run time.
- compiler - stdlib/core/compiler.hk: compiler reflection.
- pkg - stdlib/core/pkg.hk: package-manifest data types.
Extra
- io - stdlib/extra/io.hk: minimal I/O surface.
- process - stdlib/extra/process.hk: subprocess spawn and capture.
- path - stdlib/extra/path.hk: pure-Hanki slash path manipulation.
- fs - stdlib/extra/fs.hk: filesystem reads and writes.
- net - stdlib/extra/net.hk: blocking TCP networking.
- tls - stdlib/extra/tls.hk: TLS over TCP, both ends.
- cbor - stdlib/extra/cbor.hk: a CBOR (RFC 8949) codec.
- json - stdlib/extra/json.hk: JSON (RFC 8259) as a value tree.
- xml - stdlib/extra/xml.hk: XML 1.0 pull reader (layer 1 of the xml library).
- csv - stdlib/extra/csv.hk: RFC 4180 comma-separated values, a reader with positioned errors, a header-keyed reading, and a writer with minimal correct quoting.
- url - stdlib/extra/url.hk: URLs taken apart and put back.
- http - stdlib/extra/http.hk: HTTP/1.1 client and server over extra/net.
- glob - stdlib/extra/glob.hk: glob matching over slash-separated paths.
- regex - stdlib/extra/regex.hk: regular expressions, matched by a Pike VM.
- peg - stdlib/extra/peg.hk: parsing expression grammars, as plain data.
- diag - stdlib/extra/diag.hk: failure reporting for hand-written parsers.
- time - stdlib/extra/time.hk: actor-shaped time.
- datetime - stdlib/extra/datetime.hk: a pure-Hanki calendar, clock, and duration library.
- env - stdlib/extra/env.hk: environment-variable reads.
- random - stdlib/extra/random.hk: random-number reads.
- supervisor - stdlib/extra/supervisor.hk: restart-policy bookkeeping for actor supervision.
- vcs - stdlib/extra/vcs.hk: version-control facts for build-time config.
- sqlite - stdlib/extra/sqlite.hk: a secure-modern-strict SQLite library.
- terminal - stdlib/extra/terminal.hk: low-level terminal control, escape builders, colors and styles, raw mode, and the full-screen pair.
- log - stdlib/extra/log.hk: leveled diagnostics on standard error.
- hex - stdlib/extra/hex.hk: hexadecimal text for bytes.
- parsecheck - stdlib/extra/parsecheck.hk: check a parser's failure diagnostics by brute force.
- base64 - stdlib/extra/base64.hk: RFC 4648 base64 for bytes.
- base32 - stdlib/extra/base32.hk: RFC 4648 and Crockford base32 for bytes.
- sha2 - stdlib/extra/sha2.hk: SHA-256, HMAC-SHA-256, and constant-time comparison.
- aead - stdlib/extra/aead.hk: authenticated encryption with XChaCha20-Poly1305.
- sh - stdlib/extra/sh.hk: running a program, the way a script wants to.
- flags - stdlib/extra/flags.hk: declarative command-line argument parsing.
- uuid - stdlib/extra/uuid.hk: RFC 9562 UUIDs, v4 for identity and v7 for order.
Community
Reserved for packages from the registry, which does not exist yet; nothing is listed here until it does.