Thursday, May 11, 2006

Factor 0.82 almost ready

I'm tying up some loose ends in the register allocator, and updating the AMD64 compiler backend. Factor 0.82 should be out in a few days. Apart from the compiler overhaul, this release only brings a few minor improvements and bug fixes.

My plans for 0.83 include:
  • Major improvements to the UI
  • Compiler internals documentation
  • Possibly the new array quotation interpreter, and phasing out cons cells
  • Getting Factor running on Mac Intel

Going back and forth between UI and compiler work for each release seems to be the pattern for the last few releases. In 0.84, I will probably once again work on the compiler, and implement complex float intrinsics using SSE2 and AltiVec, as well as some new dataflow and template optimizations I've been planning out.


Anonymous said...

It feels like you've been bent on removing cons cells for a while now. What's the reasoning behind it?

Slava Pestov said...

Because array-based sequences seem sufficient for everything the core library code needs to do, and right now, pretty much only the interpreter relies on conses, because quotations are lists. If I change quotations to be stored like arrays, interpreter performance would improve. After this its only a small step to redefine a cons as just a TUPLE: cons car cdr ; and move the list code out into contrib/.