Originally Posted by ZTR1760
Does anyone know of a free Lisp compiler? In one of my classes my prof basically said 'Here do this in Lisp' and I don't have anything for that besides Notepad++.
edit: this first part I wrote refers to Common Lisp
clisp (linked to above) is available in Windows, Lispworks or Allegro are the big names in the professional space (both offer their implementations for free for limited non-commercial use). SBCL (http://www.sbcl.org/
) is probably the fastest non commercial lisp dialect (and faster than the commercial implementations according to some reports I've read), but the Windows version is still in development.
The development environment of choice for lisp is Emacs and SLIME which are free and work well on windows, but have a learning curve (some use Vim as well). On the flip side, once you start becoming familiar with Emacs (or Vim), you will never want to use something like Notepad++ again.
Edit: I didn't mention scheme
Lisp is a language type (if you would) and there are many different, incompatible languages that look and act similar, but use slightly different syntax (just like there many C-like languages which look similar, but have different syntax and ways of doing things).
If you're considering scheme, the "compiler" you should use is racket. There are others that are also good, but it has the best support, libraries, and documentation. Emacs/SLIME and Vim are still the preferred here.
A word on lisp compilers. Common Lisp (and scheme) compiles functions independently and then links them. Because of this, there isn't a need to separate the writing and compiling parts. You can have the program running and then decide to add/change a function while the program is still running. The compiler will compile that function (no need to recompile the others) and if necessary, overwrite the previous function (a basic way of looking at this is that functions are objects (data) and when one is called, it is given two pointers (the pointer of the function and the pointer to the beginning of the linked list of parameters)). Quite a number of realtime systems are programmed in lisp because the program can be updated as it runs resulting in less downtime (for those who would complain about bugs, the simple answer is side-effect free programming).Edited by hajile - 2/18/13 at 8:12am