/packages

pond

The “non-std stdlib”: opinionated, domain-shaped libraries you vendor and import. Extensible by tier, from infrastructure to agent orchestration.

$hale fetch

Vendoring is the v1 dependency primitive, pin a git ref, vendor the source. Tiers are a taxonomy rather than a sequence: 4, 6 and 7 are backlog nobody has needed yet, so the numbering has gaps. Editor tooling is not here, the tree-sitter grammar moved to tree-sitter-haleand the language server ships inside the hale binary.

Graduated to the stdlib: the HTTP client, the router, and metrics were promoted out of pond, they now ship as std::http (client + Router) and std::metrics, no import needed. pond keeps tracking copies; new code should use the stdlib.

Tier 0: internals

_util/*intfloat, decimal_float, duration_int, kvpack, rowbuf: shared primitives

Tier 0: infrastructure

cryptoHMAC-SHA256, SHA-256, ECDSA P-256, CSPRNG, hex
subprocessfork/exec with pipes, timeout, try_wait + signal
termterminal control: color profiles with auto-downgrade, ANSI escapes, raw mode
math/matrix · math/statsdense matrix, matmul, online moments

Tier 1: data + web

dbbackend-neutral DbDriver interface (Go database/sql shape)
pqPostgres driver: pgwire v3 over TCP, + pool
sqliteSQLite driver via @ffi: prepared statements + rows
sessions · jobs · migrationscookie sessions, job queue, schema runner

Tier 2: observability

tracingspan tree mirroring the locus tower
logfmt · supervisorstructured log sinks, restart strategies

Tier 3: realtime

websocketRFC 6455 client + server-side upgrade

Tier 5: agents

agent/llmAnthropic / OpenAI clients with SSE streaming
agent/tools · conversation · sandbox · embeddingstool registry, chat history, code sandbox, vector store
ml/neuraltiny NN trainer

Tier 8: devx

tuiElm-shaped full-screen TUI runtime: typed input events, cell-grid diff renderer, widgets

Superseded by the stdlib

http/client · router · metricstracking copies kept for existing vendored pins; new code should use std::http and std::metrics