Interesting_Links/Lisp
SDxWiki

ANSI Common Lisp seems to be a language with enough features and high-quality implementations available to be considered quite useable for high-performance production programming.

Implementations for Windows

Libraries

Discussions about Lisp

Reviews

General comments on Lisp

(Based only on reading and experience with Corman so far.)

Upsides:

Downsides:

Corman Lisp

The IDE is not very impressive (bordering on cheezy), but is usable. (Although version 2.5 seems to have some annoying bugs which will hopefully be cleaned up soon.) The compile-only technology is interesting. Whenever you define a function, it gets compiled immediately. Unfortunately, the compiler does not appear to inline floating-point operations, which could be a real liability.

The debugger follows the traditional Lisp text-based model, i.e. it's clunky. One downside to the compile-only technology is that you can't really step into functions - you can just debug calls and returns. Some information about context for each call on the stack is available (local variables and such), but it's hard to interpret.

Building applications is easy -- start Corman Lisp, load the files that are part of your application, and call SAVE-APPLICATION with a few arguments. Voila, you have an executable file.

Corman Lisp includes a bunch of tools for interacting with Windows. Setting up interfaces to C and COM looks a bit messy, but easy to use once done. There are also tools for embedding assembly language in Lisp.

Comes with the source code for everything except the IDE! Some of it is C++, but a surprising amount is written in Lisp itself, using some implementation-specific extensions. Having all the source opens up some interesting possiblities, I suppose.

All in all an interesting product, but with some real shortcoming. Perhaps you get what you pay for?

A note on development environments

I use XEmacs as my primary editor. I initially played around with ILisp, an Emacs package for interfacing with an external Lisp interpreter. It was a mess, and very hard to get it working with Corman. Now I use Slime, which is under active development, and works great -- but not yet with Corman Lisp. I'm using it quite successfully with the trial version of Allegro Common Lisp.

Emacs editors, by the way, use a form of Lisp as extension language. Emacs-lisp (sometimes call elisp) is based on very early Lisps, and is very different from Common Lisp in many ways. For instance, elisp has only dynamic scoping of variables, no lexical scoping. However, there are enough similarities that basic "Lisp-think" transfers between elisp and Common Lisp fairly easily.