<div dir="ltr">On Sun, Sep 14, 2008 at 2:58 AM, Gabriel Dos Reis <span dir="ltr"><<a href="mailto:gdr@integrable-solutions.net">gdr@integrable-solutions.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 Said differently, it is more portable than other implementations<br>
even if it is sometimes less efficient,  I suspect Sage's move to rely replace<br>
CLisp with ECL is based on similar considerations.  So, for me it is important<br>
to know what I should expect for the future of the `old compiler'.</blockquote><div><br>All reported bugs will  be fixed, that is what I understand by "maintenance". You should not worry at all. And simple improvements will be implemented. That said, I will probably not work much on getting full type propagation and function unboxing. If things go right with the other project, replacement should be smooth and just as portable, but the result should be mor  robust<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Do you have a design document for the new compiler, or is it<br>
still in its `brain storming' stage?</blockquote><div><br>I am still brain storming but also writing things as I go to get some self-documenting code with holes to fill. Nice thing about Lisp is that things can be layered and tested indivudally. I do not have the notes around, but last thing I wrote was something like<br>
- Translate to a subset of Common Lisp<br>- Variable and function object creation<br>- Computation of closure sizes<br>- Translation to a list of assignments, function calls and jumps<br>- Identification of code blocks and creation of the code flow graph<br>
- Variable renaming and insertion o Phi functions to get SSA<br>- Elimination of redundant Phi forms and variables.<br>- Type and constant propagation<br>- Dead code elimination<br>- Register allocation<br>- Final code production<br>
<br>I guess the first four passes could be merged, and some of the algorithms such as Phi function elimination, though they seem simple, I have never implemented, but from what I read it is not difficult to get something that works and it is not too inefficient.<br>
<br>Juanjo<br></div></div><br>-- <br>Instituto de FĂ­sica Fundamental<br>CSIC, Serrano, 113, Madrid 28040 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>

</div>