Operational Library Reference

This page catalogs the ordinary seed packages staged by the operational LLVM compiler from seed/compiler/llvm/libs. It does not treat every directory in the top-level Grove compatibility tree as a current package.

Import and build model

Repository core packages use bare imports:

use "io"
use "parse"
use "vec"

The launcher's incremental build and run paths resolve these names, build profile/target-compatible native and .sdi artifacts, and reuse exact installed generations. The narrower check subcommand currently invokes direct source checking and does not stage a missing bare package first. An explicit --static build selects matching static seed dependencies; ordinary hosted linking uses the profile-compatible dynamic artifacts by default.

Availability remains constrained by each package manifest and the canonical target capability matrix. A package being present in the source tree does not add runtime services to a target that lacks them.

Package catalog

Package Main public surface Role
box box_new, view, into_inner Fallible unique owned indirection for recursive or large values
byte_buffer byte_buffer_new, reserve, push, extend, resize, into_bytes Capacity-aware initialized byte construction with checked fallible growth
fibonacci fibonacci_i64 Allocation-free checked iterative Fibonacci returning none for negative input or overflow
file write_text, write_stdout, write_stderr, format variants Descriptor-based hosted output compatibility wrappers
format bool_text, option_bool_text Small static text-format helpers
io input_stream, output_buffer, read/write/all and format operations Typed partial and buffered hosted I/O with io_error
math sqrt_*, abs_*, min_*, max_* Portable inline f32/f64 operations
net open_ipv4_stream, socket Minimal hosted owned IPv4 stream-socket wrapper
parse parse_i*, parse_u*, parse_*_or Checked integer parsing with typed parse_error and explicit defaults
process current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait Allocation-free process/environment views and bounded hosted subprocess primitives
serialize encode_bool, decode_bool Minimal representative safe serialization surface
mobile platform bindings, lifecycle, input, display, clipboard Android API 21/29/37 ARM64 AVD and iOS 26.5 ARM64 simulator execution
path_file file_descriptor, open, read, write, metadata Owned path-file descriptors for checked sequential I/O, atomic rename, and advisory locking
slice slice_split_at_mut, reverse, rotate, window helpers Generic allocation-free algorithms over native typed slices
sort scalar sort functions and sort_by_key In-place mutable-slice sorting, including static key dispatch for move-only values
system address wrappers, page tables, MMIO, atomics, bump allocation, pinned/DMA values Audited freestanding systems abstractions over explicit unsafe construction
task channels, joins, typed results, events, cancellation, waitgroups, semaphores, barriers, locks Structured scheduler-backed communication and synchronization
text utf8_next, utf8_count, utf8_validate, split_ascii Allocation-free UTF-8 scalar validation/counting and ASCII-delimited token cursors
time monotonic_ms, wall_time_seconds, wall_time_ms Hosted elapsed-time and Unix wall-clock values
vec vec, queue, set, map and fallible mutation APIs Generic owned collections with exact cleanup and checked views

Application packages in the top-level Grove tree include std-uuid 0.2. It provides allocation-free UUID text validation, strict RFC 9562 UUIDv7 validation, deterministic uuid_v7_from_parts, and fallible uuid_v7 generation backed by hosted wall-clock milliseconds plus 74 bits from the audited operating-system entropy package. UUIDs remain identifiers rather than credentials.

Ownership and error conventions

Operational packages follow the language ownership model:

I/O

New code should prefer io over the narrower file compatibility wrappers. The important distinction is partial input:

byte_buffer and io share the initialized-prefix contract. Safe callers never observe spare uninitialized capacity.

Grove command execution

The Grove command package provides bounded argv-based child execution for hosted applications. command_run_configured_with_stdin_file has the same working-directory, environment, timeout, and capture-limit contract as command_run_configured, and additionally connects an existing regular input file to the child's standard input. The file is opened without following a final symlink and all parent/child descriptors retain exact cleanup. This is useful for bounded stdio protocols such as language servers without invoking a shell or retaining a second in-memory copy of the framed request.

Collections and slices

vec<t> is the canonical growable generic sequence. It provides fallible capacity and push operations, checked update/pop, read-only and mutable views, and exact cleanup for move-only elements. Queue, set, and map types use the same ownership model.

Native []t and mut []t remain the standard borrowed sequence types. The slice package adds algorithms; checked indexing, slicing, fill, copy_from, and split_at_mut are core operations rather than a legacy raw fat-slice wrapper.

Tasks

task is an ordinary package, not a set of language built-ins. It provides:

Endpoints and tickets retain their linear/exact-cleanup contracts. Direct spawn remains lexically structured, and postfix ? cannot cross the spawned body boundary while that body ABI returns void.

Systems package

system targets declared freestanding profiles. Raw addresses, MMIO pointers, atomic storage, pinned buffers, DMA buffers, and allocator backing storage are created through unsafe constructors. Safe methods rely on those constructors' alignment, lifetime, address-space, synchronization, and ownership obligations.

Presence of this package does not imply that all hosted or freestanding targets provide every system service. Consult System Primitives and the Gate 14 target matrix.

Grove package inventory

The top-level grove/libs/ corpus completed G01–G22 classification: 218 manifested packages are covered exactly once by the Grove gate harness. Ported packages expose current source-elided interfaces; archived packages expose only their documented validation/unavailability boundary. See Grove Compatibility Tree and Library Roadmap.

Ridge v0.3 packages

The completed Ridge v0.3 local-database stack is split into ordinary Grove packages:

Package Role
ridge B+Tree storage, WAL, MVCC, constraints, backup/recovery, integrity, and vacuum
ridge_sql Bounded multi-column SQL, transactions, indexes, planner, spill, JSON, analytics, and observability
ridge_pgwire Loopback TLS/password pgwire server and bounded text extended protocol
ridge_timeseries Persistent composite time keys, range/bucket/rate/retention/downsampling operations
ridge_fulltext Persistent normalized terms/positions, boolean/prefix/phrase search, BM25 subset, highlights
ridge_vector Fixed f32 vectors, exact top-k, bounded persistent HNSW, filters, recall/memory limits
ridge_ops Commit-boundary archive PITR, restore drills, migrations, maintenance, health/metrics/logs/quotas

These are bounded local-database contracts, not PostgreSQL parity or cluster services. See Ridge Database and the Ridge capability document for the exact supported shapes and exclusions.

Sources of truth