diff options
| author | Rose Hogenson <rhogenson@posteo.net> | 2022-08-01 18:12:25 -0700 |
|---|---|---|
| committer | Rose Hogenson <rhogenson@posteo.net> | 2022-08-01 18:12:25 -0700 |
| commit | a5fff9464817275f658e49789d4f5f397bfcf40f (patch) | |
| tree | 99ca7853f33320a1473d1b9921d10e4f79030914 /README.md | |
| parent | 1913aeaaf0d8dba2c63b0cca42bda16071eb9e1e (diff) | |
| download | chromatopelma-a5fff9464817275f658e49789d4f5f397bfcf40f.tar.zst | |
Rename the compiler.
I'm starting the process of updating the whole project to use the new
name Chromatopelma.
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 |
