project prism / flash

a third state,
not a workaround.

Flash is a systems language native to balanced ternary instead of binary. It compiles to Zag today and runs on ordinary machines, while describing hardware that thinks in three states instead of two.

−1negative trit
0zero trit
+1positive trit

the one rule

native types never pay for a radix they don't use.

native

t9 / t27

Balanced ternary integers. Range and sign are built into the digits themselves, no interpretation bit needed.

zero added cost

foreign

i32 / f64 / posit

Interop types. They keep their exact value and arithmetic contracts, but their digit level semantics are base two promises.

priced by trit_encoding_bits

from source to silicon

runs today, describes tomorrow.

01

Flash source

Trit logic, numeric lanes, wave carriers, and optional raw hardware blocks.

02

flashc driver

Lexes, type checks, and lowers the program to a Zag shim plus a spatial routing manifest.

03

Zag shim

Runs on any machine today, vendored inside Flash. No sibling checkout required.

04

Real hardware

The same source describes ternary and photonic processors as they arrive.

run it yourself

build the standalone toolchain and try it.

get started
$ git clone https://github.com/Sylorlabs/flash
$ cd flash && ./build.sh

No sibling Zag checkout, no system packages, no external toolchain required. The Zag compiler ships vendored inside Flash.

the language under project prism.

Flash is part of Project Prism, our push into ternary computing. Hardware designs get checked in PrismStudio, and RayOS is written entirely on top of it. One language, from source to a working desktop.

See the Products