Juoni is an interpreter for a Scheme/LISP-like language written in Rust. It was originally conceived as an assignment for the Compiler Technology course in University of Jyväskylä, but turned out so well that I decided to publish it on my homepage as a project in its own right.
It uses Pest.rs for lexing and parsing, and Clap for parameter processing.
Principal features include following:
You may be interested in viewing the language specification, which details the characteristics of the language more precisely.
The terminal below interacts with a WebAssembly adaptation of Juoni. It supports essentially everything that the native Rust version does, with some relatively minor limitations (#readln uses prompts) and exceptions (scope identifiers are constant, as RNG is not properly supported).
The terminal is dynamically loaded in a frame. Please wait for a few moments for it to appear.
Visit the GitLab repository for the current version