Skip to content
/ lulz Public

A fast and spec-compliant LOLCODE implementation

License

Notifications You must be signed in to change notification settings

MonliH/lulz

Repository files navigation

lulz

Crates.io

lulz is a LOLCODE implementation written in rust. It is much faster than lci because it embeds Lua as a JIT-compiler backend.

also, it...

  • won't give you random segfaults like lci does a lot
  • tries very hard to conform to the LOLCODE spec, with some additional (backwards compatible) features
  • has beautiful and informative rust/clang-like-errors

this implementation is still a work in progress, and some tests still don't pass yet.

running

cargo install lulz
lulz --help

build from source

git clone https://github.com/MonliH/lulz.git
cd lulz
cargo run --release

how fast??

In a simple recursive fibonacci benchmark, it performs about 220x faster than lci, and 13x faster than CPython:

Benchmark results

I will add more benchmarks soon. Note: The startup times of each implementation is included in the timings. Benchmarks performed on a AMD Ryzen 7 5700U.

To run the benchmarks yourself:

# Install dependencies:
pip install matplotlib numpy tqdm
cargo install hyperfine
# Show help menu:
python run_perfs.py --help

run tests

python run_tests.py

About

A fast and spec-compliant LOLCODE implementation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published