Skip to content

Standard Library ​

The current standard library builds strongly typed APIs around core values, Unicode text, collections, controlled system resources, and structured data. The norm/stdlib/std sources, built-in ABI, and current-version acceptance programs define the public capabilities.

Delivered modules ​

PackageResponsibilityReference
std.coreResult, Unit, Exception, and core interfacesCore types
std.annotationAnnotation targets, retention, and interception interfacesAnnotation specification
std.textUnicode normalization and text constructionString
std.collectionsSequence algorithms and collection extensionsCollections
std.configurationStructural mapping from typed framework configuration to host propertiesConfiguration
std.mathInteger math functionsMath
std.cliLong options, positional arguments, and helpCLI
std.applicationArguments, environment, directories, and completion codesCLI
std.processChild processes, output budgets, timeouts, and cancellationCLI
std.timeInstant, Duration, and ClockTime
std.concurrentTyped tasks, waiting, and cancellationConcurrency
std.buildStrongly typed result buildersResult builders
std.ioBytes, UTF-8, streams, and ResourceI/O
std.filesystemStreaming file I/OFilesystem
std.httpURIs, requests, responses, and HTTP clientsHTTP
std.websocketWS/WSS clients, messages, and connection lifecycleWebSocket
std.serializationStructural mapping contracts and metadataSerialization
std.jsonJSON tree, parsing/writing, and structural mappingJSON
std.xmlXML structural mappingXML
std.yamlYAML structural mappingYAML
std.validationField and parameter constraintsValidation
std.testingAssertion values and acceptance output protocolTesting

Array, List, Map, Set, Stack, Queue, Deque, Pair, Range, and StringBuilder belong to the current built-in type model; standard-library sources supply composition algorithms for them.

Shared rules ​

  • Public APIs retain complete static types and reject raw collections.
  • Ordinary absence uses T?; mutually exclusive business outcomes use an enum or Result<T, E>; system failures throw domain exceptions.
  • External resources close deterministically through Resource and use.
  • Text APIs distinguish bytes, Unicode code points, and graphemes explicitly.
  • Serialization reads values by Core field ordinal, without JVM reflection or string-based getters.
  • Configuration mapping shares structural metadata with serialization instead of maintaining a second string-property table.
  • Each format retains its own domain rules and failure types rather than using a misleading unified error model.

Current boundaries ​

Structural mapping handles only value types. Class identity, object graphs, cycles, and polymorphism are not yet part of the protocol. HTTP server applications use independent libraries; see the library samples and Status for current availability.

The Norm sources linked from each page define exact signatures. These pages explain module responsibilities, failure boundaries, and minimal usage without duplicating complete method lists.

Independent libraries ​

The OpenAI client is an independent library providing the Responses API; it is not part of the standard library.

The library sample index points to runnable use cases in their owning repositories.

Norm 0.24 development line