Reputation: 1156
With the thousands of implementations of LISP and Scheme available I'm having a very hard time finding just the right one to use for Windows development. I learned these languages in school and found them to be very elegant, however, I don't seem to be able to find an implementation that would be suitable for developing code other than in an academic setting.
What is a Scheme or LISP implementation with the following requirements?
Compiles to native code, rather than compiling to C.
Supports multithreading on multiple processors (ie. multiple threads can run simultaneously).
Produces 64-bit code.
Can be used in Windows without requiring Cygwin.
Upvotes: 18
Views: 10131
Reputation: 2522
The big commercial Common Lisp implementations should meet all your criteria:
LispWorks and Allegro CL.
A fairly complete, usable and free Scheme implementation is Racket (formerly known as PLT Scheme).
The free Clozure CL might also suit your needs.
Upvotes: 5
Reputation: 1939
Clozure CL is being ported for its 1.3 release onto 32 and 64 bit windows.
That 1.3 release is at RC1 as I type this.
There is a supplied example that uses native Win32 API calls via the FFI to display a traditional Win32 window, complete with message loop etc.
The Hunchentoot webserver works on the current builds.
It supports Unicode, so interfacing with the 'W' Win32 APis should be straightforward.
It compiles to native code, supports native threads and does not require cygwin.
Upvotes: 3
Reputation: 31375
Seems like ECL is missing. It is really nice CL implementation that worke on Windows, Linux and Mac, supports native threads on all platforms and allows creating binary files.
Upvotes: 1
Reputation: 139251
Corman Lisp could be interesting, but does not support 64bit code (AFAIK).
Clozure CL is just being ported to Windows, so it is probably not very mature and lacks a few things.
LispWorks and Allegro CL are great, though they don't support multiple concurrent Lisp threads. Currently LispWorks 6 is under development, which will support multiple concurrent Lisp threads. Note though, that for example LispWorks currently can run a single Lisp thread at any one time, but multiple foreign threads.
Dan Weinreb has a survey of Common Lisp implementations.
Upvotes: 12
Reputation: 112356
I'm very fond of Clozure. MIT Scheme will run under Windows, and it's a good choice for beginners because it's going to match The Book best.
Upvotes: 5
Reputation: 15152
This is an excellen description how to install Lisp with Emacs and Slime on Windows XP:
http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/
Upvotes: 0