Rethinking the MPS II compilation chain
During summer I’ve spent a lot of time looking at how Qi compiles to Common Lisp.
The thing is that I’ve written the MPS II macros to expand into something that looks like it’s been hand coded. That’s been sort of a corner stone in the idea behind MPS and MPS II. The reason is because I wanted to allow easy inspection of the generated code to allow finding bugs and other irregularities easier.
This Qi code study however, changed everything. The generated code is butt ugly but fast as hell and more importantly, the “pretty” Common Lisp code is slow. Goto considered harmful? Sure. No problem, as long as it’s fast.