3 ms·
I'm writing R5RS Scheme _interpreter_ implementation in Kotlin (previously in Java): https://github.com/kovrik/scheme-in-kotlin/ https://github.com/kovrik/schem
by kovrik 9y ago
I'm writing R5RS Scheme _interpreter_ implementation in Kotlin (previously in Java):
https://github.com/kovrik/scheme-in-kotlin/ https://github.com/kovrik/scheme-in-kotlin/
It is a hybrid of R5RS Scheme + some things from Kawa, Racket and Clojure.
It doesn't have a proper name and documentation yet.
I'm writing it as a hobby sandbox project, for learning purposes and fun.
Trying to keep it simple and easy to understand (some things are not perfect though).
Features:
- full numerical tower
- lists, vectors, maps, sets, arrays
- symbols, keywords, strings (mutable/immutable), patterns (regexes), chars
- one-shot upward continuations
- Java interop
- futures, promises, delays, boxes (atoms)
Not implemented yet:
- macros
- persistent data structures
- compiler
- bugfixes :)
PS: it is a pleasure to write it in Kotlin. Great language!
- kristianp 9y agoCool. You probably already know this, but note that R7RS-small [1] is the most recent small scheme (the spec is not too much larger that r5rs). There are enough similarities that it might be worth supporting it. [1] http://trac.sacrideo.us/wg/wiki/R7RSHomePage http://trac.sacrideo.us/wg/wiki/R7RSHomePage
- kovrik 9y agoHonestly, didn't know that! Looks great, thank you very much! I will check it out!