2000 character limit reached
A R4RS Compliant REPL in 7 KB
Published 20 Oct 2023 in cs.PL | (2310.13589v1)
Abstract: The Ribbit system is a compact Scheme implementation running on the Ribbit Virtual Machine (RVM) that has been ported to a dozen host languages. It supports a simple Foreign Function Interface (FFI) allowing extensions to the RVM directly from the program's source code. We have extended the system to offer conformance to the R4RS standard while staying as compact as possible. This leads to a R4RS compliant REPL that fits in an 7 KB Linux executable. This paper explains the various issues encountered and our solutions to make, arguably, the smallest R4RS conformant Scheme implementation of all time.
- Wikipedia 2023. Variable-length quantity. Wikipedia. https://en.wikipedia.org/w/index.php?title=Variable-length_quantity&oldid=1153169613 Page Version ID: 1153169613.
- MuppetLabs 2023. A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux. MuppetLabs. http://muppetlabs.com/~breadbox/software/tiny/teensy.html
- The Chicken Scheme Authors. 2021. Chicken Scheme. Website. https://www.call-cc.org/
- T. Bell. 1986. Better OPM/L Text Compression. IEEE Transactions on Communications 34, 12 (1986), 1176–1182. https://doi.org/10.1109/TCOM.1986.1096485
- Danny Dubé and Marc Feeley. 2005. BIT: A Very Compact Scheme System for Microcontrollers. 18, 3 (2005), 271–298. https://doi.org/10.1007/s10990-005-4877-4
- Marc Feeley. 2023. Gambit Scheme. https://gambitscheme.org
- Aubrey Jaffer. 2023a. chicken-scheme/tests/r4rstest.scm at master · alaricsp/chicken-scheme. https://github.com/alaricsp/chicken-scheme/blob/master/tests/r4rstest.scm
- Aubrey Jaffer. 2023b. SLIB. http://people.csail.mit.edu/jaffer/SLIB.html Accessed: 17-06-2023.
- Léonard Oest O’Leary and M. Feeley. 2023. A Compact and Extensible Portable Scheme VM. MoreVMs (2023). http://www.iro.umontreal.ca/~feeley/papers/OLearyFeeleyMOREVMS23.pdf
- Christopher T. Haynes R. Kent Dybvig, Daniel P. Friedman. 1988. Expansion-Passing Style: A General Macro Mechanism. Lisp and Symbolic Computation 1 (1988), 53–75. https://legacy.cs.indiana.edu/~dyb/pubs/LaSC-1-1-pp53-75.pdf
- Manuel Serrano. 2023. Bigloo, a Practical Scheme Compiler. http://www-sop.inria.fr/indes/fp/Bigloo/
- Vincent St-Amour and Marc Feeley. 2010. PICOBIT: A Compact Scheme System for Microcontrollers. In Implementation and Application of Functional Languages (Berlin, Heidelberg, 2010), Marco T. Morazán and Sven-Bodo Scholz (Eds.). Springer Berlin Heidelberg, 1–17.
- Justine Tunney. 2020. SectorLisp. Github Repository. https://github.com/jart/sectorlisp
- Samuel Yvon and Marc Feeley. 2021. A small scheme VM, compiler, and REPL in 4k. VMIL@SPLASH (2021). https://doi.org/10.1145/3486606.3486783
- J. Ziv and A. Lempel. 1977. A universal algorithm for sequential data compression. IEEE Transactions on Information Theory 23, 3 (1977), 337–343. https://doi.org/10.1109/TIT.1977.1055714
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.