/packagespond
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
crypto | HMAC-SHA256, SHA-256, ECDSA P-256, CSPRNG, hex |
subprocess | fork/exec with pipes, timeout, try_wait + signal |
term | terminal control: color profiles with auto-downgrade, ANSI escapes, raw mode |
math/matrix · math/stats | dense matrix, matmul, online moments |
Tier 1: data + web
db | backend-neutral DbDriver interface (Go database/sql shape) |
pq | Postgres driver: pgwire v3 over TCP, + pool |
sqlite | SQLite driver via @ffi: prepared statements + rows |
sessions · jobs · migrations | cookie sessions, job queue, schema runner |
Tier 2: observability
tracing | span tree mirroring the locus tower |
logfmt · supervisor | structured log sinks, restart strategies |
Tier 3: realtime
websocket | RFC 6455 client + server-side upgrade |
Tier 5: agents
agent/llm | Anthropic / OpenAI clients with SSE streaming |
agent/tools · conversation · sandbox · embeddings | tool registry, chat history, code sandbox, vector store |
ml/neural | tiny NN trainer |
Tier 8: devx
tui | Elm-shaped full-screen TUI runtime: typed input events, cell-grid diff renderer, widgets |
Superseded by the stdlib
http/client · router · metrics | tracking copies kept for existing vendored pins; new code should use std::http and std::metrics |