2009-04-12 13 views
15

Con le migliaia di implementazioni di LISP e Scheme disponibili sto avendo difficoltà a trovare quello giusto da utilizzare per lo sviluppo di Windows. Ho imparato queste lingue a scuola e le ho trovate molto eleganti, tuttavia, non riesco a trovare un'implementazione adatta per lo sviluppo di codice diverso da quello accademico.Implementazione Schema/Lisp di Windows

Che cos'è un'implementazione Scheme o LISP con i seguenti requisiti?

compilato in codice nativo, anziché compilazione in C.

Supporta multithreading su più processori (es. Più thread possono essere eseguiti simultaneamente).

Produce codice a 64 bit.

Può essere utilizzato in Windows senza richiedere Cygwin.

+2

Btw., LISP è ora Lisp ed è davvero una famiglia di lingue tra cui Schema, Common Lisp, Emacs Lisp, Clojure, Logo, AutoLisp e altri. –

risposta

12

Corman Lisp potrebbe essere interessante, ma non supporta codice a 64 bit (AFAIK).

Clozure CL è appena stato portato su Windows, quindi probabilmente non è molto maturo e manca un po 'di cose.

LispWorks e Allegro CL sono grandi, anche se non supportano più thread Lisp simultanei. Attualmente LispWorks 6 è in fase di sviluppo, che supporterà più thread Lisp simultanei. Si noti tuttavia che, ad esempio, LispWorks attualmente può eseguire un singolo thread Lisp in qualsiasi momento, ma più thread esterni.

Dan Weinreb ha un survey of Common Lisp implementations.

4

Le grandi implementazioni commerciali Common Lisp devono soddisfare tutti i vostri criteri:

LispWorks e Allegro CL.

Un'implementazione Scheme abbastanza completa, utilizzabile e gratuita è Racket (precedentemente noto come Schema PLT).

Il gratuito Clozure CL potrebbe anche soddisfare le vostre esigenze.

+0

* Schema PLT * alias [Racket] (https://racket-lang.org/) è davvero terrificante :-) – Wolf

4

Sono molto affezionato Clozure. Schema MIT funzionerà sotto Windows, ed è una buona scelta per i principianti perché abbinerà The Book al meglio.

+1

Qual è il libro? – MadPhysicist

+1

https://mitpress.mit.edu/sicp/full-text/book/book.html –

+0

Questo è quello che ho pensato! Lo sto leggendo al momento Consiglieresti e implementazioni Scheme che funzionino bene con Emacs e forse con Windows? – MadPhysicist

1

Sembra mancare ECL. È davvero una bella implementazione CL che funziona su Windows, Linux e Mac, supporta i thread nativi su tutte le piattaforme e consente la creazione di file binari.

2

Clozure CL viene portato per la versione 1.3 su finestre a 32 e 64 bit.

Questa versione 1.3 è in RC1 mentre scrivo questo.

Esiste un esempio fornito che utilizza chiamate API Win32 native tramite FFI per visualizzare una finestra Win32 tradizionale, completa di loop di messaggi, ecc.

Il server Web Hunchentoot funziona con le build correnti.

Supporta Unicode, quindi l'interfaccia con gli AP di Win32 "W" dovrebbe essere semplice.

Compila il codice nativo, supporta i thread nativi e non richiede cygwin.

+0

Sfortunatamente, richiede SSE2 senza fallback, quindi non funziona su tutto l'hardware. – Marko

Problemi correlati