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.
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.
$ 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