Juoni - Lisp interpreter in Rust

DATE : 30.03.2019

This post is originally from 2019, and has been ported from the previous iteration of my website with some small revisions

I wrote an interpreter for a Scheme/LISP-like language in Rust. It was originally an assignment for Compiler Technology course at University of Jyväskylä. Originally meant to be rather smaller, I added one feature after another and.. result is something I feel very proud of and want to showcase it.

It can be downloaded from GitLab. Be sure to also look at the language spec.

Live terminal

Best demonstration for the capabilities of the language is offering users a chance to try it for themselves.

To make it easier, I also developed a WebAssembly adaptation, which can be run directly in the browser. It supports most things that the native version does, with some limitations (#readln is a prompt, due to the difficulty of asynchronously receiving input with minimal changes).