diff options
| -rw-r--r-- | README.md | 28 | ||||
| -rw-r--r-- | dorotya.jpg | bin | 0 -> 7779460 bytes |
2 files changed, 19 insertions, 9 deletions
@@ -1,4 +1,4 @@ -# Cute Scheme +# Chromatopelma scheme compiler ## Background @@ -15,22 +15,32 @@ self-hosting scheme compiler targeting a minimal bytecode. ## Objective -Cute scheme is a partial r7rs implementation with a focus on ease of -implementation and a reusable library. The frontend is written in r7rs -Scheme, and compiles to a minimal bytecode. +Chromatopelma scheme is a partial r7rs implementation with a focus on +ease of implementation and a reusable library. The frontend is written +in r7rs Scheme, and compiles to a minimal bytecode. ## Detailed design -The cute scheme compiler (like most compilers) consists of a number of -phases that gradually transform a program from scheme code through -numerous intermediate representations. The csc compiler has 3 such -intermediate representations, not counting bytecode itself. These two +I started this project as a way to get familiar with writing a compiler +for a functional language. My goal was to write a self-hosting compiler, +and my candidate languages were SML or scheme. I picked scheme because +of my love for parentheses, but at times I'm missing static typing. + + + +Chromatopelma cyaneopubescens is a kind of tarantula native to +Venezuela. Fig. 1 shows Dorotya going after a roach. + +The Chromatopelma scheme compiler (like most compilers) consists of a +number of phases that gradually transform a program from scheme code +through numerous intermediate representations. The csc compiler has 3 +such intermediate representations, not counting bytecode itself. These languages are creatively called IR1, IR2, and IR3.  -Fig. 1 shows the phases of code generation. Code generation goes through +Fig. 2 shows the phases of code generation. Code generation goes through several intermediate phases, named IR1, IR2, and IR3. ### IR1 diff --git a/dorotya.jpg b/dorotya.jpg Binary files differnew file mode 100644 index 0000000..5d172a6 --- /dev/null +++ b/dorotya.jpg |
