Stak Scheme: The tiny R7RS-small implementation
This program is tentative and subject to change.
Small environments for embedded scripting allow software to evaluate logic dynamically on resource-constrained platforms. In this paper, we present Stak Scheme, the tiny R7RS-small Scheme implementation. The whole interpreter of Stak Scheme contains no more than 10 KLOC as its core parts are composed of a bytecode compiler written in 1.6 KLOC of Scheme and a virtual machine written in 1.5 KLOC of Rust. Despite its minimal and naive design, Stak Scheme supports all major language features of the R7RS-small standard including but not limited to the library system, hygienic macros with syntax-rules
, continuations, exception handling, and the fully-featured eval
procedure. Our bytecode encoding and decoding algorithms convert code and data in bytecode uniformly between its in-memory graph format and serialized byte sequences. Our evaluation proves that the implementation of Stak Scheme is compact compared to the prior work of a small R7RS-small implementation whereas its performance is still comparable with other implementations of Scheme and the other scripting languages despite its minimal design.
Paper (paper5.pdf) | 292KiB |
This program is tentative and subject to change.
Thu 16 OctDisplayed time zone: Perth change
10:30 - 12:15 | |||
10:30 5mDay opening | Welcome Scheme | ||
10:35 25mTalk | Stak Scheme: The tiny R7RS-small implementation Scheme Yota Toyama None File Attached | ||
11:00 25mTalk | Gouki Scheme: An Embedded Scheme Implementation for Async Rust Scheme Matthew Plant OneChronos File Attached | ||
11:25 25mTalk | Automatic Invariant Testing for Finite-State Machines Scheme Marco Morazan pc, Sophia Turano Seton Hall University, Andrés M. Garced Seton Hall University, David Anthony K. Fields Seton Hall University | ||
11:50 20mTalk | Sound Default-Typed Scheme (Position Paper) Scheme Jan-Paul Ramos-Davila Boston University File Attached |