diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 28 |
1 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 |
