Sunday, July 12, 2009

ABCL actively developed

Last year around August, Peter Graves asked me (Erik Huelsmann) to take over ABCL (Armedbear Common Lisp) development. I gladly accepted.

Since then we - a small team of lisp hackers - have been hard working to improve ABCL. Yesterday it was pointed out to me that the Lisp community was probably unaware of the renewed energy being put into ABCL's development.

Our efforts have concentrated on 3 areas of improvement:
  • Correctness - doing right what is already implemented
  • Conformance - implementing what the spec says should be
  • Features - things the spec doesn't require, but which are too handy not to provide standard
With respect to correctness and conformance we are glad to be able to say that the ANSI test failures have been drastically reduced to below 40 (coming from hundreds).

With respect to the features, we're proud of our achievements, which are two-fold: first of all we have added some Lisp features most implementations provide (
  • compiler improvements such as unboxed local variables
  • MACROEXPAND-ALL
  • COMPILER-LET and
  • locking primitives for threading
  • lots of other stuff;
second we added some features which matter for a Lisp in a Java environment:
  • JSR-223 support: being a scripting engine for any Java application
  • Threading primitives (different ones) which inter operate with the Java world
  • Improved Ant-based build system
  • more...

But we did more: ABCL was separated out of the source tree of the J editor (and moved to common-lisp.net). A wiki, mailing lists, new project pages, a repository and defect tracker have been set up. A bi-monthly release schedule has been put into place - source releases only for now and we're working toward binary releases too.

On this blog, I will discuss the advances and difficulties that make up the ABCL development experience.

5 comments:

  1. the J editor link is dead:
    http://sf.net/project/armedbear-j/

    should it be?
    http://armedbear-j.sourceforge.net/

    ReplyDelete
  2. Cool! Looking forward to your future work.

    ReplyDelete
  3. I'm using ABCL for some examples since some months ago, building from the checkedout sources and it is very good and stable. Not that I'm currently working in complex things with ABCL, but, up-to-now it is a very pleasant surprise. Thanks :-)

    ReplyDelete
  4. @Kristian: Thanks for the pointer. I changed the link to the right address.

    ReplyDelete