Skip to content
Prismio docs
ImplementedPrismio 0.1.0

Prismio 0.1.0

Compiler-audited feature and documentation baseline for Prismio version 0.1.0.

Last verified

Implemented. Available in the audited Prismio 0.1.0 compiler. Pre-1.0 syntax may still change.

Prismio 0.1.0 is the first release documented directly from the self-hosted compiler and regression suite. Every code sample on this site is compiled by that compiler as part of the docs build.

Included

  • Self-hosted lexer, parser, import resolver, semantic analysis, AIF, and LLVM IR generation, reaching a byte-identical two-generation fixpoint
  • Windows, macOS, and Linux generation/test CI, plus cross-compilation (--target, --sysroot) with per-triple runtime bitcode
  • Explicit numeric types and casts, arrays, lists, structs, enums with payloads, optionals, Option/Result, and exact overloads
  • Statement-oriented control flow and integer/enum matching with exhaustiveness checking
  • Generics by monomorphisation, including per-specialisation container layout
  • Method-call syntax and impl blocks; traits with one bound per type parameter, checked statically at instantiation — no trait objects and no vtables
  • Closures: a struct plus a call function, resolved by overloading, so no function pointer and no indirect call
  • Slice<T> list views, nested slicing, and programmer-directed AoS↔SoA data views
  • Module namespacing and visibility: public/private/internal, module-qualified calls, and selective imports (import std.string.strTrim)
  • Ten importable standard-library modules: std.io, std.string, std.fs, std.process, std.list, std.map, std.option, std.key, std.ord, std.copy. std.io is an import rather than a prelude
  • Concurrency: spawn/join/Task<R>, and a blocking typed Channel<T> whose receive answers T? so a worker loop ends without a sentinel
  • UMS package manifest (build.ums), lockfile, and local path dependencies
  • Move-only strings/lists/structs, default borrowed parameters, sink, inout, and drop
  • Allocation tiers, annotations, reports, --verify runtime verification, --why, and a differential against an independent oracle
  • -g DWARF debug info describing the layout permutation and hot/cold split truthfully

Not included

async/await, an executor, atomics and other synchronization types, and a specified memory-ordering model. User-written lifetimes, a non-owning typed pointer, exceptions, macros, a package registry and version solving, mobile toolchains, and a formatter, linter or language server. WebAssembly is blocked rather than in progress: Prismio emits wasm32 IR, but there is no C library for wasm32-unknown-unknown, so the runtime cannot be built for it here.

Performance

Measured against idiomatic Rust on seven benchmark programs, 25 interleaved runs per arm with checksum agreement asserted before any timing is read: 0.90×–1.59×, with Prismio ahead on the scene-graph and parallel-bands programs. Written the way an expert would write it, the same programs run at 0.22×–1.22× of idiomatic Rust.

The documentation snapshot date is 2026-08-29. Exact diagnostic prose, AIF report shape, source syntax, runtime ABI, and package layout remain pre-1.0 and may change.