Skip to content

Releases: Apocky/CSSL3

Sigil v0.1.0 — First Public Release

19 Apr 08:01

Choose a tag to compare

Sigil v0.1.0 — First Public Release

First public release of Sigil (CSSL — Caveman-Sigil-Substrate-Language), a hardware-first systems language with algebraic effects, automatic differentiation, SMT verification, and multi-GPU backends.

Compiler — stage0 bootstrap

  • 32 Rust crates in a Cargo workspace, MSRV 1.75
  • Cranelift JIT backend — no LLVM required; full CPU codegen via Cranelift 0.115
  • GPU backends — SPIR-V, DXIL, MSL, WGSL
  • Host runtimes — Vulkan 1.4, Intel Level-Zero, Direct3D 12, Metal, WebGPU
  • 1600+ tests passing — property, differential, metamorphic, fuzz, and replay modes

Language features

F1 — Autodiff: source-to-source automatic differentiation on MIR. 19 primitives. Forward and backward modes. Jet<T,N> higher-order AD. Killer-app gate: bwd_diff(sphere_sdf) bit-exact vs analytic central differences.

F2 — Refinement Types: SMT-backed {v:T | P(v)}, Lipschitz bounds, control-flow narrowing. Z3/CVC5/KLEE drivers with SMT-LIB emission.

F3 — Effect System: row-polymorphic effect rows (Koka semantics), 28+ built-in effects covering timing (Deadline<16ms>), hardware (GPU, SIMD256, XMX), determinism (PureDet, DetRNG), power, and audit. Zero runtime overhead — compiled to evidence-records.

F4 — Staged Computation: @staged + #run comptime specializer. Futamura P1/P2/P3 self-applicable partial evaluation infrastructure.

F5 — Information Flow Control: Jif-style DLM labels with explicit declassification. Non-interference structurally enforced via the type system.

F6 — Observability: R18 ring-buffer telemetry, signed audit chains (Blake3 + Ed25519), OTLP export, oracle test modes (property/differential/metamorphic/fuzz/replay).

Binary

This release ships csslc.exe for Windows x86-64 (1.2 MB). The stage0 compiler is a bootstrap artifact — no LLVM, no external toolchain beyond Rust.

Building from source

git clone https://github.com/Apocky/CSSL3
cd CSSL3/compiler-rs
cargo build --release

Requires Rust 1.75+. No other system dependencies.

What's next

Stage1 self-hosting is the next milestone. The roadmap (P1–P10: stdlib → trait dispatch → IO → strings → iterators → sum types → parser → HIR/MIR → x86-64 backend → fixed-point) is in stage1/README.csl.