MScheme
What is MScheme?
MScheme is a Scheme interpreter implemented in Java.
The project goals are
What is already done, what is left to do?
Already done:
- ... unit tests with JUnit,
- ... 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
.
- ... a (german) Diplomarbeit available as
ps
and
pdf
file.
Left to do:
- ... saving and loading of intermediate code,
- ... some primitive and library procedures,
- ... rational, floatingpoint and complex numbers,
- ...
let-syntax
and letrec-syntax
,
- ... hygienic macros with
syntax-rules
,
- ... maybe some SRFIs:
- SRFI-6,
Basic string ports are easily implemented since
I use Java's
java.io.Reader
/Writer
in my implementation of ports and there are
java.io.StringReader
/StringWriter
readily available ...
- SRFI-16,
case-lambda
would be nice,
- ... 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
and
and is
last update: 2018-05-18 by sielenk