OxL Reference

II.1 Modules

ModulePurposeKey APIs
std.core (prelude)basic types and functionsprimitives, Option operators, List, Map, Set, Task, stream, iter, Shared<T>, print, env, now, sleep, panic, unreachable, standard interfaces
std.collcollectionsDeque, Heap, SortedMap, SortedSet, SmallVec<T, N>, Bitset
std.iterlazy iteratorsmap filter flatMap fold zip enumerate chunks windows groupBy sortBy take skip
std.textstringsString, fmt, Regex (re"…"), split, trim, parse<T>, Utf8
std.numnumberschecked/wrapping/saturating operations, BigInt, Decimal, Money
std.timetime (§17)Instant, Time, Date, LocalDateTime, ZonedTime, Duration, Period, Tz, after, every, at, cron
std.taskconcurrency (§8)scope, Scope, Handle, all, race, any, chan, Mutex, RwLock, Semaphore, shield, node.background
std.stmtransactional memoryTVar<T>, check
std.iofilesFile, Reader, Writer, mmap, Path, fs.walk
std.osOSenv, args, exit, signal, process.spawn
std.netlow-level networkingTcp, Udp, Quic, Tls, dns, IpAddr
std.httpHTTP 1.1/2/3Client, Server, Router, WebSocket, Sse
std.rpcservice runtime (§10)Ctx, Client<S>, Middleware, Next, Transport, Status
std.streamstream operatorsmap filter take skip window(d) batch(n, d) merge zip throttle debounce scan dedup first broadcast; Broadcast<T>, SlowPolicy
std.pipepipelinesDlq, replay(runId), status(runId)
std.sagasagasstatus(sagaId), resolve(sagaId, .Compensated | .Completed), list(.Stuck)
std.serserialisation (§9)encode<T>(x, fmt), decode<T>(b, fmt), decode_view<T>, Codec<T>, Repr<W>, Encoder, Decoder, Format, formats.oxl/json/msgpack/cbor
std.ormtables (§12.8)Db, Table<T>, ref<T>, many<T>, migrate, Pool
std.kvbuilt-in storageKv.get/put/delete/scan, BlobStore (large objects), txn, watch(prefix) -> stream
std.topictopics (§10.5)Topic<T>.publish/subscribe, From
std.clustercluster (§12)self, members, find, pick, on, shards, leader, lock, ids, now
std.cryptocryptography (AWS-LC)sha2, sha3, blake3, hmac, aead.seal/open (AES-GCM, ChaCha20-Poly1305), ed25519, x25519, ecdsa, rsa, argon2, rand.secure
std.authauthentication (§13)Principal, jwt, oidc, apikey, session, asService, asScoped
std.configconfiguration (§14)Flag, Profile, DynHandle<T>
std.obsobservabilitylog, metric, span, OTLP and Prometheus export
std.reflectreflection (§15)reflect, TypeInfo, FieldInfo, rt, Any
std.comptimecode generationDecl, Expr, quote, CompileError, readFile
std.ffiFFI (§16)CStr, CString, Ptr, c_int, etc.
std.testtests (§18)assert*, mock, fixture, net, node, disk, clock, snapshot
std.optoptimiser hintslikely(c), unlikely(c)

Implementation-defined. Optional parts of the library (D-8055; DIV-024, DIV-051; D-4739). This implementation does not contain: std.net.Quic and HTTP/3 (§13.1, impl-quic); the oidc provider in std.auth (§13.2, impl-oidc); BlobStore in std.kv; the module imagekit from example V.5. The cryptographic primitives of std.crypto are provided by a library with the libssl API (impl-crypto-backend); the list of algorithms in the table is a requirement, the presence of each of them in this implementation is verified by the reference oxl doc --std. The availability of std.web — see II.4.

See also

Source: docs/spec/oxl-standard.en.md