Skip to content

Latest commit

 

History

History
74 lines (48 loc) · 1.33 KB

README.md

File metadata and controls

74 lines (48 loc) · 1.33 KB

rfalse

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!

Table of Contents

Benchmarks

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

How to run

cargo run --release -- examples/hello.false

In no filename is given, stdin will be used instead.

WASM support

Experimental feature. WASM performance is about 2x worse than native build.

First, compile the WASM files:

wasm-pack build --release --target web

After that, run a webserver. For example:

python3 -m http.server 8000 -d .

Navigate to http://localhost:8000 and open the console.

Hacking

Run linter:

cargo clippy

Run tests:

cargo test

Run benchmarks:

cargo bench --bench perf

License

GNU LGPL v3