What is the best Open Source Lisp? - Part 2
Sunday, January 11, 2004
previous posting, I asked "What is the best Open Source Lisp?" and
listed a set of criteria that is commonly asked for (on various Lisp
newsgroups) by people looking for an Open Source Lisp implementation.
In my opinion, the Lisp implementation that best meets these criteria is PLT Scheme. PLT Scheme is actually an "umbrella name" for a family of implementations of Scheme. Although PLT Scheme is a Scheme and not a Common Lisp implementation, it includes a lot of standard functionality that is normally found in a Common Lisp implementation. Therefore, CL advocates who would normally dismiss a Scheme implementation from consideration should think seriously about what they need in an Open Source Lisp implementation before they reject PLT Scheme.
Here's how it meets the set of criteria I specified in my previous post:
- Free: PLT Scheme is available under the GNU Library General Public License (LGPL).
- Source Code: Source code for both the implementation and the libraries is available (in different combinations of binary/source packages).
- Strong Developer Team: There is an excellent team of academics and non-academics who maintain/enhance the software.
- Active User Base: PLT Scheme has a very active user base. This is reflected in both the wide range of 3rd party packages developed for PLT Scheme and the volume of discussion about PLT Scheme on the comp.lang.scheme newsgroup and the PLT Scheme Mailing List.
- Strong Library Support: Quite a few libraries have been developed for PLT Scheme - both by the core development team and 3rd parties. In addition, PLT Scheme provides a mechanism for packaging libraries as ".plt" files which are extremely easy to distribute and install. This makes installing additional functionality very easy.
- Expanding/Captive User Base: Due to the TeachScheme! Project, a lot of new users are taught the language in either High School or University.
- Capable of Generating Stand-alone EXEs: PLT Scheme is capable of generating stand-alone EXEs.
- Supports All Major Software/Hardware Platforms: PLT Scheme is available for Windows, Mac OSX, Mac Classic, SunOS, Unix, Linux on many major hardware platforms. In addition, there is a 3rd party library that gives PLT Scheme programs access to the Microsoft .Net Framework.
- Easy to Port/Embed: PLT Scheme has been ported to many platforms and the development team has always shown support for helping with other ports. It is also possible to embed PLT Scheme.
- Good Development Tools: DrScheme provides an easy-to-install, graphical, pedagogical IDE that is ideal for beginning Lisp developers. For experienced developers, Quack provides additional functionality to Emacs that makes developing in PLT Scheme very nice.
- Good Documentation: Full documentation is available (online or downloadable) in both HTML and PDF formats.
Now, bear in mind that I'm not saying that PLT Scheme will meet the needs of everyone who is searching for an Open Source Lisp implementation; however, it does satisfy a lot of the criteria that many people look for in an Open Source Lisp implementation.
I also think that the PLT development team deserves a lot of credit for creating what is probably one of the best examples of what an Open Source language implementation can be.