develooper Front page | perl.perl6.internals | Postings from April 2005

New language: Parrot Common Lisp

Thread Next
From:
Cory Spencer
Date:
April 14, 2005 14:41
Subject:
New language: Parrot Common Lisp
Message ID:
Pine.LNX.4.62.0504141459030.32167@okcomputer.antiflux.org

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

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About