Silk standard library
The compiler-shipped modules and their complete public documentation.
| Module | Import namespace | Public declarations | Summary |
|---|---|---|---|
silk/allocator | Allocator | 5 | Foundational allocation service used by higher standard-library actors. |
silk/bool | bool | 3 | Named primitive Boolean equality and negation operations. |
silk/box | Box | 7 | One owned heap indirection for recursive data and values whose storage must have a stable size. |
silk/bytes | Bytes | 8 | Owned arbitrary bytes for file contents, process output, and other encoding-neutral data. |
silk/char | char | 8 | Checked construction, integer inspection, equality, and ordering for Unicode scalar char values. |
silk/child_process | ChildProcess | 41 | Portable blocking child execution from structured byte arguments to fully captured output. |
silk/effect | Effect | 32 | Builds lazy computations by transforming success, recovering typed failure, supplying services, and controlling sequencing and cleanup. |
silk/execution | Execution | 4 | Independently owned, caller-funded lazy computations with explicit external parking. |
silk/f32 | f32 | 50 | IEEE binary32 values with deterministic representation, classification, and math operations. |
silk/f64 | f64 | 50 | IEEE binary64 values and Silk's default floating-point arithmetic. |
silk/fiber | Fiber | 16 | Affine Fiber handles, typed outcomes, and one-observer completion. |
silk/filesystem | FileSystem | 58 | Portable normalized paths, whole-file operations, directory traversal, and explicit temp scopes. |
silk/format | Format | 17 | Decimal rendering and complete-text parsing shared by every integer module. |
silk/hash | HashKey | 7 | Deterministic seeded hashing contracts for hash maps, hash sets, and user-defined key types. |
silk/hash_map | HashMap | 16 | Owned key-value storage with deterministic seeded hashing and open-addressed lookup. |
silk/hash_set | HashSet | 13 | Owned unique elements with deterministic seeded hashing and open-addressed membership lookup. |
silk/host_input | HostInput | 10 | Explicit access to process arguments, environment values, and the working directory as bytes. |
silk/i16 | i16 | 60 | Sixteen-bit signed integers with explicit overflow, conversion, and text policies. |
silk/i32 | i32 | 60 | Thirty-two-bit signed integers and the default type of context-free integer literals. |
silk/i64 | i64 | 60 | Sixty-four-bit signed integers for large fixed-width values and exact integer protocols. |
silk/i8 | i8 | 60 | Eight-bit signed integers for compact values, byte-level formats, and narrow arithmetic. |
silk/isize | isize | 60 | Pointer-width signed integers for offsets whose range follows the selected compilation target. |
silk/layout | Layout | 6 | Checked size-and-alignment descriptions used to request storage from an allocator. |
silk/local_scheduler | LocalScheduler | 4 | Deterministic single-threaded execution for structured Fibers. |
silk/logger | Logger | 14 | Typed semantic logging with replaceable stdout and bounded in-memory providers. |
silk/metrics | AllocationMetrics | 6 | Provider-owned allocation counters that can be published as ordinary copyable data. |
silk/numeric | Integer | 2 | Shared compile-time addition witness for generic algorithms over primitive integers. |
silk/option | Option | 8 | Optional owned values that distinguish presence from absence without a failure channel. |
silk/order | Order | 11 | Compile-time ordering witnesses and a three-way result derived from strict comparison. |
silk/os_child_process | OsChildProcess | 2 | Native ChildProcess provider that executes directly through the platform process boundary. |
silk/os_filesystem | OsFileSystem | 2 | Native FileSystem provider confined beneath one explicitly owned platform root. |
silk/os_host_input | OsHostInput | 2 | Native HostInput provider for the process command line, environment, and working directory. |
silk/os_standard_input | OsStandardInput | 2 | Native StandardInput provider backed by the process standard-input descriptor. |
silk/random | Random | 7 | Provider-replaceable pseudorandom words, booleans, bounded values, and byte filling. |
silk/raw_buffer | RawBuffer | 8 | Low-level typed views over owned allocations for implementing collections and storage actors. |
silk/result | Result | 11 | Completed success-or-failure values that can be inspected and transformed as ordinary data. |
silk/scheduler | Scheduler | 17 | Provider protocol for preparing and atomically publishing child Fibers. |
silk/shared | Shared | 5 | Explicitly allocated, single-threaded shared ownership with callback-scoped access. |
silk/slot | Slot | 4 | Explicit initialization-state transitions for one slot selected from raw storage. |
silk/standard_input | StandardInput | 11 | Portable blocking reads of raw standard-input bytes through an explicit provider. |
silk/standard_streams | StandardStreams | 7 | Complete-message standard-output and standard-error writes through a replaceable service. |
silk/string | String | 22 | Valid UTF-8 text, including owned storage, byte validation, and scalar-by-scalar traversal. |
silk/u16 | u16 | 57 | Sixteen-bit unsigned integers with explicit arithmetic and conversion failure policies. |
silk/u32 | u32 | 57 | Thirty-two-bit unsigned integers for fixed-width counts, masks, and binary fields. |
silk/u64 | u64 | 57 | Sixty-four-bit unsigned integers for wide masks, counters, hashes, and exact interchange values. |
silk/u8 | u8 | 57 | Eight-bit unsigned integers for bytes, compact counters, and exact binary representations. |
silk/unicode | Unicode | 5 | Explicit Unicode canonical normalization backed by the pinned Unicode 17.0.0 data set. |
silk/unicode_tables | UnicodeTables | 7 | Generated canonical-normalization data for the silk.unicode public façade. |
silk/usize | usize | 59 | Pointer-width unsigned integers for lengths, indices, capacities, and allocation sizes. |
silk/vector | Vector | 20 | Growable owned sequences with allocation-aware mutation, stable sorting, and checked indexing. |