shinh / elvm

EsoLangVM Compiler Infrastructure
MIT License
1.13k stars 143 forks source link

Add Lazy K backend #119

Closed woodrush closed 1 year ago

woodrush commented 2 years ago

This pull request adds a backend for Lazy K.

Similar to the Binary Lambda Calculus backend in #118, this backend also uses LambdaVM to implement the virtual machine. This is done as follows:

The Interpreter

This backend uses @irori's Lazy K interpreter. It automatically clones and compiles it in tools/runlazy.sh.

Tests

I've confirmed that running the test make lazy takes about 3 minutes on my machine.

Some tests that take a lot of time are left out from make lazy. Omitted tests are included in make test-lazy-full. I expect make test-lazy-full to run successfully for the following reasons:

woodrush commented 2 years ago

I've just confirmed that running make test-lazy-full finishes in about 4 minutes on my machine.

shinh commented 1 year ago

Resolved the conflict and merged. Thanks!