Scheme Programming Lessons from Tarot
This page is for documenting things learned from implementing tarot, a basic self hosted scheme compiler that I did.
Table of contents
- sequences - constructing complicated lists efficiently.
- accessors - breaking apart data structures in a simple way.
- stacks and queues - hammer and screwdriver, for programming.
- syntactic extension - making things easy with macros!
- qcode - some low level details about the compiler target and virtual machine.
- eval and macros - how we implement an efficient eval, and how is it used to implement macros.
- pointer tagging and data representation - how is data represented and processed in the runtime.
information for stack traces and profiling - how we print useful stack traces, and profiling info.
- bootstrappable release - tarot is released! and it is bootstrappable from sources.
- scheme-continuations my opinion about first class continuations.