Skip to content
Logo
Prismio
Developers
ImplementedPrismio 0.1.0

Prismio 0.1.0

The current self-hosted compiler baseline, including implemented language, AIF, LLVM, UMS, runtime, tooling, and benchmark behavior.

Last verified

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

Prismio 0.1.0 is an active-development baseline rather than a stability promise. The compiler front end, semantic analysis, AIF, and LLVM generator are written in Prismio and rebuilt through a committed seed plus named compiler generations.

Compiler and tooling

  • Lexer, parser with selected recovery, AST, imports, visibility, semantic checking, ownership, allocation inference, LLVM 22 generation, object emission, and native linking.
  • init, build, run, test, clean, check, bootstrap, runtime hashing, AST dumps, AIF reports, and project commands.
  • JSON Lines diagnostics for analysis-only editor integration.
  • DWARF line, function, scope, local, and aggregate information under -g.
  • UMS manifests, workspaces and targets, local dependencies, lock information, native link inputs, project-local compiler routing, and staged promotion.

Language and memory

  • Explicit scalar types and casts, arrays, strings, lists, maps, structs, payload enums, optionals, Option, Result, matching, and iteration.
  • Generics and monomorphization, inherent implementations, traits, multiple bounds, supertraits, default methods, associated constants and types, trait objects, and impl Trait.
  • Closures with by-value captures, native tasks, task results, and typed blocking channels.
  • Move-only managed values, default borrowed parameters, sink, inout, explicit drop, slices, DataView, inline eligible list elements, and unique-update reuse.
  • AIF tiers, regions, layout selection, explanations, manifests, oracle differential, and runtime verification. AIF policy remains experimental.

Runtime and standard modules

The toolchain ships importable modules for I/O, strings, files, processes, lists, maps, options and results, key and ordering bounds, copying, equality, display, and iteration. The runtime supplies native memory, task, channel, process, file, and compiler-support operations.

Performance evidence

The maintained catalog contains 73 workloads. Fifty-seven have equivalent Prismio, C++, and Rust arms; sixteen remain unsupported because the ordinary Prismio capability does not exist. Result artifacts contain exact build commands, checksums, samples, and medians. Individual wins and losses are workload evidence, not a universal ranking.

Not included

The supported surface does not include a remote package registry and solver, async/await, an executor, user-facing atomics or locks, networking, regex, JSON, reflection or derive generation, explicit SIMD types, memory-mapped files, or custom container allocators.

Internal syntax, reports, runtime layout, manifest details, diagnostics, and ABI may change before 1.0.

Implementation anchors

The release command surface is dispatched by src/main.psm; compilation converges in src/driver/compile.psm. src/sema/checker.psm coordinates semantic checking with specialized generic, enum, ownership, flow, and symbol modules. src/aif owns allocation facts and plans. src/ir/module.psm, expr.psm, and statement.psm issue ir_* operations to runtime/llvm-api-backend.c. Application runtime behavior is split between runtime/lang_runtime.c and program_support.c; object emission and linking live in runtime/build_driver.c. UMS starts at umsLoadProject() and lowers through umsBuildPlanCreate() into src/project/ums_cli.psm execution.

Release evidence

The release procedure requires a named compiler candidate, two successor generations with byte-identical canonical compiler IR, successful reconstruction from the target-neutral seed, the full regression suite, independent AIF differential, corpus and verifier sweeps, JIT/native checks, cross-target checks, and a packaged-toolchain smoke test outside the checkout. The platform archive is produced by tools/release.py and accompanied by a SHA-256 file.

These checks establish that the documented implementation can reproduce itself and that the tested surface works on the release matrix. They do not create post-1.0 source or ABI guarantees, prove foreign implementations honor contracts, or turn unsupported benchmark entries into implemented features.