Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Scheme/Lisp Implementation

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.

like image 427
Kranar Avatar asked Apr 12 '09 21:04

Kranar


People also ask

What is the best scheme implementation?

PLT Scheme provides an interpreter, a compiler and an IDE called DrScheme: it is probably the biggest Scheme implementation out there and it is also probably the most used implementation and the one with most libraries.

What is a Lisp implementation?

Armed Bear Common Lisp (ABCL) is a full implementation of the Common Lisp language featuring both an interpreter and a compiler, running in the JVM. Originally started to be a scripting language for the J editor, it now supports JSR-223 (Java scripting API): it can be a scripting engine in any Java application.

How do I install Mac schemes?

Download either the 32-bit or 64-bit dmg file for Scheme. Double click the . dmg file, and you'll get this window, in which you should drag the "MIT/GNU Scheme" file into the Applications folder.


5 Answers

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.

like image 89
Rainer Joswig Avatar answered Oct 03 '22 13:10

Rainer Joswig


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.

like image 43
Charlie Martin Avatar answered Oct 03 '22 14:10

Charlie Martin


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.

like image 43
rincewind Avatar answered Oct 03 '22 15:10

rincewind


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.

like image 20
John McAleely Avatar answered Oct 03 '22 14:10

John McAleely


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.

like image 27
Marko Avatar answered Oct 03 '22 15:10

Marko