An interpreter for the FALSE language — possibly the fastest in the world.
- Supports all language features;
 - Written in Rust;
 - Up to 38 times more performant than false-js (see benchmarks below). If you are aware of any faster implementations, please let me know!
 
| Test | false-js | rfalse | difference | 
|---|---|---|---|
| Primes, n=1999 | 4392 ms | 168 ms | ~26x | 
| Fibonacci, n=33 | 37597 ms | 987 ms | ~38x | 
| Fibonacci, n=25 | 802 ms | 21 ms | ~38x | 
Experimental VM:
| Test | rfalse-vm2 | false-js | solkin/false-vm | 
|---|---|---|---|
| Primes, n=1999 | 102 ms | 4392 ms (~43x slower) | 154 ms (~1.5x slower) | 
| Fibonacci, n=33 | 435 ms | 37597 ms (~86x slower) | 504 ms (~1.16x slower) | 
| Fibonacci, n=25 | 9 ms | 802 ms (~89x slower) | 11 ms (~1.2x slower) | 
cargo run --release -- examples/hello.falseIn no filename is given, stdin will be used instead.
Experimental feature. WASM performance is about 2x worse than native build.
First, compile the WASM files:
wasm-pack build --release --target webAfter that, run a webserver. For example:
python3 -m http.server 8000 -d .
Navigate to http://localhost:8000 and open the console.
Run linter:
cargo clippyRun tests:
cargo testRun benchmarks:
cargo bench --bench perfGNU LGPL v3
- FALSE home page
 - FALSE page on Esolangs — the closest thing we have to a language reference
 - Archived language reference, was very hard to find
 - FALSE article on Russian Wikipedia which contains some useful explanations; funny enough, there's no English version
 
Other notable implementations:
- Awesome FALSE interpreter by Igor Solkin
 - false-js by Ian Osgood
 - JavaScript FALSE interpreter by Anthony Morphett