The current registry exposes 84 primitive entries. Pure helpers need no capability; time, filesystem, network, environment, process and memory-tier primitives declare one. On main, the 24 entry-gated rows are refused at run time when the program entry does not declare their capability (the v0.8.2 release gates 15 and has no mem capability gate); unbridged rows have no interpreter binding.
This is a registry reference, not a promise of a mature standard library. Higher-level HTTP, package, async, and data APIs remain future library work.
| Name | Capability | Guard class | Stability |
|---|---|---|---|
time::now_ms | time | entry-gated | stable |
time::wall_clock_ms | time | entry-gated | stable |
time::sleep | time | entry-gated | stable |
str::split | none | none | stable |
str::replace | none | none | stable |
str::to_lower | none | none | stable |
str::to_upper | none | none | stable |
str::trim | none | none | stable |
str::starts_with | none | none | stable |
str::contains | none | none | stable |
array::insert | none | none | stable |
array::remove | none | none | stable |
array::sort | none | none | stable |
crypto::blake3 | none | none | stable |
crypto::sha256 | none | none | stable |
crypto::hmac_sha256 | none | none | stable |
fs::read_file | fs | entry-gated | stable |
fs::write_file | fs | entry-gated | stable |
fs::read_bytes | fs | entry-gated | stable |
fs::write_bytes | fs | entry-gated | stable |
fs::list_dir | fs | entry-gated | stable |
net::tcp_connect | net | entry-gated | stable |
net::tcp_listen | net | unbridged | stable |
net::udp_bind | net | unbridged | stable |
core::iter::map | none | none | stable |
core::iter::filter | none | none | stable |
core::iter::fold | none | none | stable |
core::iter::zip | none | none | stable |
core::iter::take | none | none | stable |
core::iter::drop | none | none | stable |
core::iter::collect | none | none | stable |
core::iter::chain | none | none | stable |
core::iter::enumerate | none | none | stable |
core::result::ok | none | none | stable |
core::result::err | none | none | stable |
core::result::map | none | none | stable |
core::result::and_then | none | none | stable |
core::result::or_else | none | none | stable |
core::result::unwrap_or | none | none | stable |
core::option::some | none | none | stable |
core::option::none | none | none | stable |
core::option::map | none | none | stable |
core::option::and_then | none | none | stable |
core::option::unwrap_or | none | none | stable |
core::cmp::min | none | none | stable |
core::cmp::max | none | none | stable |
core::cmp::ordering | none | none | stable |
core::cmp::clamp | none | none | stable |
core::math::abs | none | none | stable |
core::math::sqrt | none | none | stable |
core::math::pow | none | none | stable |
core::math::floor | none | none | stable |
core::math::ceil | none | none | stable |
core::math::round | none | none | stable |
std::env::get | env | entry-gated | experimental |
std::env::set | env | entry-gated | experimental |
std::env::vars | env | entry-gated | experimental |
std::process::spawn | proc | entry-gated | experimental |
std::process::wait | proc | entry-gated | experimental |
std::process::exit_code | proc | entry-gated | experimental |
std::process::spawn_args | proc | entry-gated | experimental |
std::process::output | proc | entry-gated | experimental |
std::json::parse | none | none | experimental |
std::json::stringify | none | none | experimental |
std::json::get | none | none | experimental |
std::json::set | none | none | experimental |
std::regex::compile | none | none | experimental |
std::regex::match | none | none | experimental |
std::regex::find_all | none | none | experimental |
std::regex::replace | none | none | experimental |
std::uuid::new_v4 | time | entry-gated | experimental |
std::uuid::new_v5 | none | none | experimental |
std::uuid::new_v7 | time | entry-gated | experimental |
std::base64::encode | none | none | experimental |
std::base64::decode | none | none | experimental |
std::log::info | none | none | experimental |
std::log::warn | none | none | experimental |
std::log::error | none | none | experimental |
std::log::debug | none | none | experimental |
std::log::to_file | fs | entry-gated | experimental |
memory::working | mem | entry-gated | experimental |
memory::episodic | mem | entry-gated | experimental |
memory::semantic | mem | entry-gated | experimental |
memory::procedural | mem | entry-gated | experimental |
A production-feeling language needs more than this registry. The next useful layers are HTTP client/server helpers, datetime, configuration, package manifests, and richer test helpers; JSON, regex, UUID, base64 and logging already have registry rows above. Those should land behind the same capability discipline, with examples and dogfood evidence beside the implementation.