Je recherche une version de Scheme ou même de LISP que je peux utiliser pour récupérer certaines compétences de développement Lisp perdues. Certaines fonctionnalités Web seraient intéressantes mais pas essentielles.
J'ai examiné les schémas Plt et MIT et, bien que les deux aient l'air plutôt bons, le Plt semble être plus riche en fonctionnalités. J'ai également regardé les implémentations Lisp mais toutes semblent assez chères.
Je préfère les implémentations gratuites / peu coûteuses car il ne s'agit vraiment que de programmes occasionnels de loisirs. Quelles recommandations auriez-vous?
Réponses:
J'irais avec Racket. Ce 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 la sortie de la porte. Ce que j'aime vraiment dans l'IDE de Racket, DrRacket, c'est ce que vous n'avez pas à faire - vous n'avez pas besoin d'apprendre Emacs, vous n'avez pas à apprendre SLIME, vous n'avez pas à vous soucier de traquer le troisième. bibliothèques de partie, car pratiquement toutes les bibliothèques destinées à Racket se trouvent dans des 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 alimentés par Racket (que je recherche actuellement).
la source
J'ai fait pas mal d'expérimentation avec cela.
Clozure Common Lisp (née Open MCL) est de loin le plus rapide; 25 à 30% 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 agréable, et peut-être un peu mieux intégré dans le monde Mac. (PLT Scheme est maintenant connu sous le nom de Racket , mais je ne l'ai pas expérimenté après le changement.)
la source
loop
macro.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 liste de diffusion, d'installation de paquets, de recherche d'irc, etc.
Dr Scheme s'installe et s'exécute simplement. J'ai terminé les 3 premiers chapitres du SICP il y a quatre ans et demi avec le Dr Scheme. Rien n'était plus profond que de définir un évaluateur de programme en soi. Une fois que vous aurez compris que vous aurez beaucoup plus de patience pour les frères de force industrielle.
la source
Pour Scheme, DrRacket est génial (inclus dans Racket ).
Pour Common Lisp, Ready Lisp est génial. Un seul dmg avec SBCL, Aquamacs et Slime prêt à l'emploi.
Depuis le site Web:
la source
Je viens de commencer à jouer avec Clojure . Il a apparemment un cadre Web agréable et se compile en bytecode JVM.
J'utilise aussi beaucoup DrScheme . C'est un IDE simple mais utile.
la source
Selon la façon dont vous définissez "Lisp", Clojure peut convenir. Il fonctionne bien 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, frais et amusant à utiliser. Peut-être idéal pour la programmation amateur. Il est facile d'écrire des applications Web ou des applications GUI (à l'aide de Java Swing ou même de Qt).
la source
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 juste pour une programmation de loisir.
Dans le passé, j'ai utilisé GNU Common Lisp sur mon macbook pro.
la source
Si vous recherchez Scheme, vous pouvez jeter un œil à JazzScheme qui vient de sortir .
la source
Je recommande Racket aux nouveaux arrivants, car il fournit l'un des meilleurs IDE pour les débutants en Scheme (ou plutôt pour les débutants en programmation qui utilisent Scheme, ou mieux encore, se frayent un chemin à travers 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 eux-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 implémenté entièrement dans Scheme.
http://www.larcenists.org/
Mise à jour: De plus, 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.)
la source
Vous voudrez peut-être regarder ce qui se trouve dans l'Association of Lisp Users ou le Common Lisp Wiki pour voir ce qu'il y a. Je me suis installé avec Steel Bank Common Lisp et Emacs, mais j'en ai peu fait jusqu'à présent.
la source
Si vous n'êtes que de la programmation amateur, LispWorks a une version gratuite et personnelle qui est assez puissante et sophistiquée. Le plus gros problème est une limite de temps d'exécution de plusieurs heures. Ainsi, vous n'écrirez pas de serveurs de longue durée, mais cela ne signifie pas que ce n'est pas un outil utile.
CLISP fonctionne sur presque tout, et est assez agréable en fait, il ne fait 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.)
la source
Clozure CL est disponible gratuitement sur le Mac Store!
http://itunes.apple.com/us/app/clozure-cl/id489900618
la source
Je me suis posé la même question ces derniers temps. Après avoir utilisé DrScheme sur OS X, ce serait mon premier choix de distribution 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 très belle boîte à outils GUI qui `` fonctionne juste ... même sur Mac '' ;-))
Cependant, je recherche maintenant un environnement tout aussi confortable pour Common Lisp. Cela se résumait à CCL (OpenMCL) par rapport à SBCL. SBCL semble être le choix populaire, mais j'ai lu que sur OS X, il ne prend pas en charge le threading. (Est-ce vraiment un problème?). Clozure CL, d'autre part, bénéficie d'un bon support pour les threads natifs, le pont obcj, etc.
Je trouve CCL un peu étrange mais je vais m'y tenir pendant un moment - Cela semble toujours être le choix logique pour l'intégration.
J'utilise Emacs 23 (construit à partir des sources en utilisant --with-ns) et Slime comme environnement et cela fonctionne bien pour moi. :-)
la source
J'ai trouvé que Chicken fonctionne bien pour Scheme et est disponible via homebrew.
La plupart du code de SICP fonctionne avec des modifications mineures.
la source
Allez avec Racket . J'en suis très content!
la source