Mise en œuvre du schéma Windows / Lisp

Avec les milliers d’implémentations de LISP et de Scheme disponibles, j’ai beaucoup de mal à trouver la solution idéale pour le développement Windows. J’ai appris ces langues à l’école et je les ai trouvées très élégantes. Cependant, je ne semble pas être capable de trouver une implémentation qui conviendrait pour développer un code autre que dans un contexte académique.

Qu’est-ce qu’une implémentation Scheme ou LISP avec les exigences suivantes?

Comstack en code natif plutôt qu’en compilant en C.

Prend en charge le multithreading sur plusieurs processeurs (c.-à-d. Que plusieurs threads peuvent être exécutés simultanément).

Produit un code 64 bits.

Peut être utilisé sous Windows sans nécessiter Cygwin.

Corman Lisp pourrait être intéressant, mais ne supporte pas le code 64 bits (AFAIK).

Clozure CL est juste porté sur Windows, donc il n’est probablement pas très mature et manque de quelques choses.

LispWorks et Allegro CL sont excellents, bien qu’ils ne prennent pas en charge plusieurs threads Lisp simultanés. Actuellement, LispWorks 6 est en cours de développement et supportera plusieurs threads Lisp simultanés. Notez toutefois que, par exemple, LispWorks peut actuellement exécuter un seul thread Lisp à la fois, mais plusieurs threads étrangers.

Dan Weinreb a réalisé une enquête sur les implémentations Common Lisp .

J’aime beaucoup Clozure. MIT Scheme fonctionnera sous Windows, et c’est un bon choix pour les débutants car il va mieux correspondre au livre.

Les grandes implémentations commerciales Common Lisp doivent répondre à tous vos critères:

LispWorks et Allegro CL .

Une implémentation Scheme assez complète, utilisable et gratuite est Racket (anciennement connu sous le nom de PLT Scheme).

Le Clozure CL gratuit peut également répondre à vos besoins.

Clozure CL est porté pour sa version 1.3 sur les fenêtres 32 et 64 bits.

Cette version 1.3 est à la RC1 lorsque je tape ceci.

Un exemple fourni utilise des appels d’API Win32 natifs via le FFI pour afficher une fenêtre Win32 traditionnelle avec une boucle de message, etc.

Le serveur Web Hunchentoot fonctionne sur les versions actuelles.

Il prend en charge Unicode, de sorte que l’interfaçage avec l’AP Win32 W devrait être simple.

Il comstack en code natif, supporte les threads natifs et ne nécessite pas cygwin.

On dirait que ECL est manquant. C’est une très bonne implémentation CL qui fonctionne sous Windows, Linux et Mac, supporte les threads natifs sur toutes les plates-formes et permet de créer des fichiers binarys.

Voici une excellente description de l’installation de Lisp avec Emacs et Slime sous Windows XP:

http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/