MScheme
What is MScheme?
MScheme is a Scheme interpreter implemented in Kotlin (Multiplatform).
The project goals are
What is already done, what is left to do?
Already done:
- ... unit tests with Kotest,
- ... some builtin procedures,
- ... integer numbers,
- ... file IO procedures including
read and load,
- ... first-class, user-defined functions with
lambda,
- ... a cycle safe
list?,
- ... proper tail recursion,
- ... first-class continuations with
call-with-current-continuation and
dynamic-wind,
- ... compilation to intermediate code for efficient execution,
- ... syntax check and symbol lookup at compile time,
- ... proper
internal definition
handling by two pass compilation,
- ... a low level macro system with
define-syntax,
- ... Kotlin Multiplatform: runs on the JVM and in the browser,
- ... a browser REPL,
- ... a (German) Diplomarbeit available as
ps
and
pdf.
Left to do:
- ... saving and loading of intermediate code,
- ... some primitive and library procedures,
- ... rational, floating-point and complex numbers,
- ...
let-syntax and letrec-syntax,
- ... hygienic macros with
syntax-rules,
- ... maybe some SRFIs:
- ... a SLib
configuration file — and get hygienic macros for free!
Why is it called MScheme?
It is called MScheme because
Links
This page is hosted by
last update: 2026-03-08 by sielenk