Initially I thought about a small book, something like "Python Internals", where the compiler is described in the more detailed way than in SBCL Internals manual. I wanted to insert a lot of figures there, to explain the user's code flow in compiler along with different transformations and representations of it (so maybe the book will be in PDF or PS format). A sample list of chapters may be as follows:
1. Compiler sources structure.
2. Lisp to IR1 conversion.
3. Code optimizations during IR1 phases.
4. IR2 stage.
5. Representation selection and storage classes.
6. Code representation using VOPs.
7. Type checks and coercion.
8. FASL files structure and code dumping.
9. Disassembler implementation.
10. Compiler debugging.
But now it seems that there is almost no interest in such a book here, you see that I got only one response and nobody agreed to review/answer the questions. Maybe SBCL development assumes that people who are involved are mature engineers and they are able to do a quick reverse-engineering of the compiler. Or Python is considered to be a simple compiler which does not need any detailed manual?
As for now I am not sure about starting this writing. It seems that I will get no readers :) Maybe there are some Python docs which are missing by me, so there is no necessity in new papers?
On Mon, 12 Apr 2010, Roman Marynchak wrote:
So I have a suggestion: I want to write a newbie's guide to Python internals. I am going to take a simple form and describe
its compilation stages, starting with compile-in-lexenv and till the machine code generation, including all intermediate
transformations description. My benefit will be that I will have a good Python understanding after the article is done. And
SBCL community may attract more compiler engineers by saying that we have a good beginner's guide on the subject. I will do
that sources analysis in any case, so I don't want my efforts to be lost - it will be much better to save my findings for
So you're looking to modernize
and the various CMUCL docs?
Sounds good to me. (Though my opinion doesn't hold much water. ;)
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
Sbcl-devel mailing list