I'd like to announce the creation of the Parrot Common Lisp project, which aims to implement a significant subset of the Common Lisp language. At present it's nowhere near achieving that goal, but it's progressing slowly as I figure out the intricacies of writing a Lisp implementation.


A brief overview of current features:

   * It currently has ~100 functions defined - some written in IMC, some
     in Lisp.  Most of them aren't all *that* interesting, but once the
     basic flow-control special forms and macros are completed, the tools
     should be in place to do more interesting things.

   * All the basic reader macros (except backquote and ,) are more or less
     in place.  Some are written in IMC, some in Lisp.

   * Support for global, dynamic and lexical scoping more or less works.

   * Support for packages more or less works.

   * Other exciting features that I'm unable to recall.

A few caveats:

  * It's not a compiler yet, although I've got plans for that down the
    road.

  * Its got bugs and almost certainly won't do what you want it to do
    (but will, eventually).

  * There are some outstanding issues with the Dead Object
    Detection/Garbage collection systems that I've yet to track down.  If
    you plan on running PCL on the current (as of April 2005) Parrot
    source base you'll very likely have to run it with DOD/GC disabled.

      ie)  ~$ parrot -G lisp.pbc

    Depending on the system (I develop on both x86/Linux and g4/OS X),
    you'll get a Bus Error, Segmentation Fault or some other random error
    if you don't disable the GC.

    (If anyone is able to track down aforementioned DOD/GC problems,
    you'll earn my eternal gratitude.)

For examples of what it can currently do, look in the lisp/ subdirectory in the files loaded at run time (bootstrap.l system.l and primitives.l).

Anyone who would like to have a peek at what I've got so far is invited to download the 0.1.0 release from here:

    http://www.sprocket.org/pcl/pcl-0.1.0.tar.gz

Bug reports, patches and comments are most certainly welcome. :)

Enjoy!

-c

Reply via email to