Small core, userland packages.
The compiler keeps its built-ins to virtual modules for IO, threads, env, FFI and math. Everything else is an
ordinary Coil package with an optional native library, added to your project through coil.toml.
coil-stdlib →
The userland standard library: collections, text and bytes helpers, path, encoding, and the blocking IO adapters such as io::sync::write_all.
spool →
A git-based dependency manager for Coil libraries. It reads [package] and [dependencies] from coil.toml, then fetches and links them.
Data formats
Encoders and decoders written in pure Coil.
-
jsonpure CoilJSON and JSONC.
Strict RFC 8259 encode/decode, plus a JSONC mode that accepts comments and trailing commas. Errors carry line and column.
use json::{Json, JsonValue, JsonError}; -
tomlpure CoilTOML 1.0.
Full TOML 1.0.0 syntax: dotted keys, multiline strings, datetimes, inline tables and arrays of tables.
use toml::{Toml, TomlValue, TomlError}; -
msgpackpure CoilMessagePack.
Binary encode/decode covering every MessagePack type, including extensions and timestamps.
use msgpack::{Msgpack, MsgpackValue, MsgpackError};
Networking & security
Talk to the network, securely.
-
httppure CoilHTTP client and server.
Class-oriented HTTP/1.1 client and server with connection pooling, HTTP/2, WebSockets, and HTTPS via tls.
use http::client::Client; -
tlsnative libraryTLS streams on rustls.
A native library loaded with dload("tls") that attaches to ordinary io streams.
use tls::{client, server}; -
cryptonative libraryHashing and secure randomness.
sha256, random_bytes and constant-time ct_eq, backed by a native library loaded with dload.
use crypto::{sha256, random_bytes, ct_eq};
Text, bytes & time
Everyday utilities.
-
regexnative libraryPCRE2 regular expressions.
PCRE2 bindings loaded through FFI: compile a pattern once, then match and find_all.
use regex::{compile, find_all, Regex}; -
deflatepure CoilDEFLATE compression.
RFC 1951 compress and decompress in pure Coil. Raw DEFLATE blocks only (no gzip or zlib wrapper).
use deflate::{compress, decompress, DeflateError}; -
timenative libraryCalendar and monotonic time.
UTC timestamps, calendar periods, chrono-style format/parse and Instant for elapsed time.
use time::{timestamp};
greet →
A minimal library consumed via spool. Start here to see how a package is laid out and linked.
use greet::hello;
Not sure whether something is a builtin? See What is not built in and
the coil.toml reference for wiring packages into a project.