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.

2 comments:

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/.