web-dev-qa-db-fra.com

Quelle est la meilleure implémentation Scheme ou LISP pour OS X?

Je recherche une version de Scheme ou même LISP que je peux utiliser pour récupérer certaines compétences de développement LISP perdues. Certaines fonctionnalités Web seraient agréables mais pas essentielles.

J'ai regardé Plt et MIT et, bien que les deux semblent assez bons, le Plt semble être plus riche en fonctionnalités. J'ai également examiné les implémentations LISP mais tout cela semble assez cher .

Je préfère les implémentations gratuites/peu coûteuses, car il est probable que ce ne soit que de la programmation occasionnelle. Quelles recommandations auriez-vous?

85
Mark Brittingham

J'irais avec Racket. Il n'est peut-être pas aussi rapide que SBCL, mais il possède d'excellentes bibliothèques et documentation, ainsi qu'un environnement intégré conçu pour vous permettre de développer et d'exécuter des programmes Scheme dès le départ. Ce que j'aime vraiment à propos de l'EDI de Racket, DrRacket, c'est ce que vous n'avez pas à faire - vous n'avez pas à apprendre Emacs, vous n'avez pas à apprendre SLIME, vous n'avez pas à vous soucier de traquer le tiers- bibliothèques de fête, car pratiquement toutes les bibliothèques destinées à Racket se trouvent dans packages . Dans l'ensemble, cela réduit vraiment la courbe d'apprentissage et vous permet de vous concentrer sur la tâche réelle à accomplir: écrire du bon code.

En outre, il est livré avec un serveur Web si vous souhaitez créer des sites Web basés sur Racket (que j'examine actuellement).

71
Kyle Cronin

J'ai fait pas mal d'expériences avec ça.

Clozure Common LISP (née Open MCL) est de loin le plus rapide; 25-30 pour cent plus rapide que le prochain concurrent sur mon Intel Mac Mini.

MIT Scheme fonctionne très bien sur un Mac. Je pense que je l'ai finalement compilé moi-même, mais il y a des binaires sur ce site. PLT Scheme est également sympa, et peut-être un peu mieux intégré au monde Mac. (Le schéma PLT est maintenant connu sous le nom de Racket , mais je ne l'ai pas expérimenté après le changement.)

22
Charlie Martin

Pour Scheme, DrRacket est génial (inclus dans Racket ).

Pour LISP commun, LISP prêt est génial. Un seul dmg avec SBCL, Aquamacs et Slime fonctionnant hors de la boîte.

Depuis le site Web:

Ready LISP est une liaison de plusieurs packages Common LISP populaires spécialement pour Mac OS X, notamment: Aquamacs, SBCL et SLIME. Une fois téléchargé, vous aurez un seul ensemble d'applications sur lequel vous pourrez double-cliquer - et vous retrouverez dans un Common LISP REPL entièrement configuré.

Il est idéal pour les utilisateurs d'OS X qui souhaitent découvrir la beauté de Common LISP avec un minimum de tracas. Il pourrait également être utilisé par les enseignants pour donner à leurs élèves Mac un environnement LISP commun gratuit et complet à emporter avec eux. Exigences

La version actuelle de Ready LISP est 20090127 et nécessite Mac OS X 10.5 (Leopard).

Il comprend les versions logicielles des composants suivantes:

Aquamacs  1.6
SBCL    1.0.24
SLIME   2009-01-23
CL-FAD  0.6.2
CL-PPCRE    2.0.1
LOCAL-TIME  0.9.3
SERIES  2.2.10
CL HyperSpec    7.0
paredit.el  20
redshank.el     1
cldoc.el    1.16
15

Je suis un grand fan de Clojure, SBCL et Clozure CL. Ils sont tous fantastiques, mais ils sont aussi exagérés si tout ce que vous voulez faire est de rafraîchir vos côtelettes Lisping. Ils nécessitent tous des quantités absurdes de recherche d'informations, de recherche de listes de diffusion, d'installation de packages, de surveillance irc, etc.

Dr Scheme s'installe et s'exécute. J'ai terminé les 3 premiers chapitres du SICP il y a quatre ans et demi en utilisant le Dr Scheme. Rien de plus profond que de définir un évaluateur de programme en soi. Une fois que vous aurez compris, vous aurez beaucoup plus de patience pour les frères de la force industrielle.

15
dnolen

Je viens de commencer à jouer avec Clojure . Il a apparemment un Nice framework web , et se compile en bytecode JVM.

J'utilise aussi beaucoup DrScheme . C'est un IDE simple mais utile.

5
Matthew Schinckel

Selon la façon dont vous définissez "LISP", Clojure peut convenir à la facture. Il fonctionne correctement sur OS X (il s'exécute partout où la JVM s'exécute). Il a des capacités Web et c'est gratuit.

Il a également l'avantage d'être nouveau et frais et amusant à utiliser. Pourrait être idéal pour la programmation de loisirs. Il est facile d'écrire des applications Web ou des applications GUI (en utilisant Java's Swing ou même Qt).

5
Brian Carper

Si vous recherchez Scheme, vous pouvez jeter un oeil à juste sorti JazzScheme.

4
Marko

Je ne l'ai pas utilisé moi-même, mais Steel Bank Common LISP a reçu un buzz favorable sur reddit. C'est open source et gratuit, donc le prix est correct pour certains programmes de loisirs.

Dans le passé, j'avais GNU Common LISP fonctionnant sur mon macbook pro.

4
Dana

Je recommande Racket aux nouveaux arrivants, car il fournit l'un des meilleurs IDE pour les débutants de Scheme (ou plutôt, les programmeurs débutants qui utilisent justement Scheme, ou mieux encore, qui travaillent sur HtDP).

http://racket-lang.org/

Une autre option, pour les personnes qui sont plus intéressées par un petit système Scheme afin de le modifier elles-mêmes ou de lire son code source, est Larceny Scheme, qui présente un intérêt en grande partie parce que son compilateur JIT, Twobit, est lui-même entièrement implémenté dans Scheme.

http://www.larcenists.org/


Mise à jour: En outre, Chez Scheme a récemment été open source:

https://github.com/Cisco/ChezScheme

(Il n'est peut-être pas aussi "petit" que Larceny, mais il a un compilateur d'optimisation très agressif.)

4
pnkfelix

Vous voudrez peut-être regarder ce qui se trouve l'Association des utilisateurs LISP ou le wiki LISP commun pour voir ce qu'il y a. Je me suis installé avec Steel Bank Common LISP et Emacs, mais je n'ai pas fait grand chose jusqu'à présent.

3
David Thornley

Clozure CL est disponible gratuitement dans le Mac Store!

http://iTunes.Apple.com/us/app/clozure-cl/id489900618

2
Rimian

Si vous n'êtes que de la programmation amateur, LispWorks a une version gratuite et personnelle qui est assez puissante et sophistiquée. Son plus gros problème est une durée de fonctionnement de plusieurs heures. Donc, vous n'écrirez aucun serveur de longue durée, mais cela ne signifie pas que ce n'est pas un outil utile.

CLISP fonctionne sur presque tout, et est plutôt sympa en fait, il ne fait tout simplement pas de threads. (Important si vous voulez écrire un serveur réel, mais comme PHP et Perl nous l'ont montré, Apache + [insérer le langage] est une plate-forme très viable.)

2
Will Hartung

Je me suis posé la même question ces derniers temps. Ayant utilisé DrScheme sur OS X, ce serait mon premier choix de distribution de Scheme pour n'importe quelle plate-forme. Très bel IDE, fonctionnalités de débogage et un bon ensemble de bibliothèques/frameworks (y compris une boîte à outils GUI très sympa qui 'fonctionne juste ... même sur Mac' ;-))

Cependant, je suis maintenant à la recherche d'un environnement tout aussi confortable pour Common LISP. Il se résumait à CCL (OpenMCL) contre SBCL. SBCL semble être le choix populaire, mais j'ai lu que sous OS X ne prend pas en charge le filetage. (Est-ce vraiment un problème?). Clozure CL, d'autre part, bénéficie d'un bon support pour les threads natifs, l'obcj-bridge, etc ...

Je trouve CCL un peu étrange, mais je vais y rester pendant un certain temps - Cela semble toujours le choix logique pour l'intégration.

J'utilise Emacs 23 (construit à partir de la source en utilisant --with-ns) et Slime comme environnement et cela fonctionne bien pour moi. :-)

1
Stuart Hacking

Allez avec Raquette . J'en suis très content!

1
Jaro

J'ai trouvé que Chicken fonctionne bien pour Scheme et est disponible via homebrew.

brew install chicken

La plupart du code de SICP fonctionne avec des modifications mineures.

1
Justin Meiners