Yesterday, we had the quite interesting discussion on #lisp, which was originally about this bug. Several long-term SBCL developers confirmed that the optimal way to deal with such issues is to implement the SSA pass in the compiler.
SSA is present in SBCL's TODO list during several years, but there is no implementation yet, and, AFAIK, nobody is working on it now. Since the compilers development is the thing I like the most (and it is my full-time job), I have decided to give it a try.
In this situation, I must call the book activities closed. There are two main reasons for such a decision, and one minor reason:
1. Free time limit.
2. SSA pass is very likely to change the SBCL's frontend. In such a case the book's material may become obsolete, which means that the book writing efforts are spent in vain.
3. Honestly, it is more fun to develop than to write the books (at least for me). And, there are a lot of good compilers books which could be easily mapped on SBCL. One who really wants to learn it will always find the possibility, like many people did before.
I hope that the readers will understand the situation and agree with me (or even forgive me, in case somebody is hurt by this post). From now on, there will be no new chapters here, so it is reasonable to remove the blog from 'Planet SBCL'. Instead, I will put SSA design and progress reports here occasionally.
In case I fail to implement SSA, I will leave the SBCL community. Two failures in the same open-source project mean that it was selected wrongly.
Friday, 6 August 2010
Subscribe to:
Post Comments (Atom)
> In case I fail to implement SSA, I will leave the SBCL community. Two failures in the same open-source project mean that it was selected wrongly.
ReplyDeleteЕрунда. Это всего лишь значит, что в этот раз не хватило знаний/терпения. Достаточно отложить задачу на некоторое время, потом пойдёт лучше.
Bullshit. This only means that you didn't have enough knowledge/patience this time. It helps to postpone the task for some time and return to it later.
In that case, I wish you all success! I will follow SBCL progress in my spare time and I hope to contribute occasionally.
ReplyDeleteThank you :) From now on, I prefer to complete the task first, and then announce it. So, I will be silent until I have something decent to show...
ReplyDeleteAs someone outside the SBCL development community I found the chapters you have written very helpful in understanding how SBCL works. Thank you for the effort you have put into this.
ReplyDelete