Ich suche nach einer Version von Scheme oder sogar LISP, mit der ich einige verlorene Lisp-Entwicklungsfähigkeiten wiederherstellen kann. Einige Webfunktionen wären nett, aber nicht unbedingt erforderlich.
Ich habe mir das Plt- und MIT-Schema angesehen, und obwohl beide ziemlich gut aussehen, scheint das Plt funktionsreicher zu sein. Ich habe mir auch Lisp-Implementierungen angesehen, aber alle scheinen ziemlich teuer zu sein.
Ich bevorzuge kostenlose / kostengünstige Implementierungen, da dies wahrscheinlich nur gelegentliche Hobby-Programmierung ist. Welche Empfehlungen hätten Sie?
Antworten:
Ich würde mit Racket gehen. Es ist möglicherweise nicht so schnell wie SBCL, verfügt jedoch über hervorragende Bibliotheken und Dokumentationen sowie über eine integrierte Umgebung, mit der Sie Scheme-Programme sofort entwickeln und ausführen können. Was ich an Rackets IDE, DrRacket, wirklich mag, ist, was Sie nicht tun müssen - Sie müssen Emacs nicht lernen, Sie müssen SLIME nicht lernen, Sie müssen sich keine Sorgen machen, den dritten zu jagen. Partybibliotheken, da praktisch alle für Racket bestimmten Bibliotheken in Paketen enthalten sind . Alles in allem verkürzt sich die Lernkurve erheblich und Sie können sich auf die eigentliche Aufgabe konzentrieren: das Schreiben von großartigem Code.
Außerdem wird ein Webserver mitgeliefert, wenn Sie Websites mit Racket-Unterstützung erstellen möchten (die ich derzeit untersuche).
quelle
Ich habe ziemlich viel damit experimentiert.
Clozure Common Lisp (geb. Open MCL) ist bei weitem der schnellste; 25-30 Prozent schneller als der nächste Konkurrent auf meinem Intel Mac Mini.
Das MIT-Schema funktioniert auf einem Mac recht gut. Ich glaube, ich habe es schließlich selbst kompiliert, aber auf dieser Site gibt es Binärdateien. Das PLT-Schema ist auch nett und möglicherweise etwas besser in die Mac-Welt integriert. (Das PLT-Schema ist jetzt als Racket bekannt , aber ich habe nach der Änderung nicht damit experimentiert.)
quelle
loop
Makros.Ich bin ein großer Fan von Clojure, SBCL und Clozure CL. Sie sind alle fantastisch, aber sie sind auch übertrieben, wenn Sie nur Ihre Lisping-Koteletts auffrischen möchten. Sie alle erfordern absurde Mengen an Informationssuche, Mailinglistensuche, Paketinstallation, IRC-Lauern usw.
Dr. Scheme wird nur installiert und ausgeführt. Ich habe die ersten drei Kapitel von SICP vor viereinhalb Jahren mit Dr. Scheme abgeschlossen. Nichts war tiefgreifender als die Definition eines Scheme Evaluators an sich. Sobald Sie sich ein Bild davon gemacht haben, werden Sie viel mehr Geduld für die Brüder der industriellen Stärke haben.
quelle
Für Scheme ist DrRacket fantastisch (in Racket enthalten ).
Für Common Lisp ist Ready Lisp großartig. Ein einzelnes dmg mit SBCL, Aquamacs und Slime, die sofort einsatzbereit sind.
Von der Website:
quelle
Ich habe gerade angefangen, mit Clojure zu spielen . Es hat anscheinend ein schönes Webframework und wird zu JVM-Bytecode kompiliert.
Ich benutze DrScheme auch ziemlich oft . Es ist eine einfache, aber nützliche IDE.
quelle
Je nachdem, wie Sie "Lisp" definieren, Clojure passt möglicherweise in die Rechnung. Es läuft unter OS X einwandfrei (es läuft überall dort, wo die JVM läuft). Es verfügt über Webfunktionen und ist kostenlos.
Es hat auch den Vorteil, dass es neu und frisch ist und Spaß macht. Könnte ideal für Hobby-Programmierung sein. Es ist einfach, Web-Apps oder GUI-Apps zu schreiben (mit Java Swing oder sogar Qt).
quelle
Ich habe es selbst nicht benutzt, aber Steel Bank Common Lisp hat bei reddit einige positive Resonanz erhalten. Es ist Open Source und kostenlos, daher stimmt der Preis für einige Hobby-Programme.
In der Vergangenheit lief GNU Common Lisp auf meinem MacBook Pro.
quelle
Wenn Sie nach Scheme suchen, können Sie sich das gerade veröffentlichte JazzScheme ansehen .
quelle
Ich empfehle Racket Neulingen, da es eine der schönsten IDEs für Scheme-Anfänger bietet (oder besser gesagt, Programmier-Anfänger, die Scheme verwenden oder sich noch besser durch HtDP arbeiten).
http://racket-lang.org/
Eine weitere Option für Personen, die sich mehr für ein kleines Schemasystem interessieren, um es selbst zu ändern oder seinen Quellcode zu lesen, ist das Larceny-Schema, das vor allem deshalb von Interesse ist, weil sein JIT-Compiler Twobit selbst vollständig in Scheme implementiert ist.
http://www.larcenists.org/
Update: Darüber hinaus wurde das Chez-Programm kürzlich als Open-Source-Version bereitgestellt:
https://github.com/cisco/ChezScheme
(Es ist vielleicht nicht so "klein" wie Larceny, aber es hat einen sehr aggressiven Optimierungs-Compiler.)
quelle
Vielleicht möchten Sie sich ansehen, was sich in der Association of Lisp Users oder im Common Lisp Wiki befindet, um zu sehen, was sich dort befindet. Ich habe mich mit Steel Bank Common Lisp und Emacs zusammengetan, aber bisher wenig damit gemacht.
quelle
Wenn Sie nur Hobby programmieren, bietet LispWorks eine kostenlose, persönliche Version, die sehr leistungsfähig und anspruchsvoll ist. Das größte Problem ist ein Laufzeitlimit von mehreren Stunden. Sie werden also keine Server mit langer Laufzeit darin schreiben, aber das bedeutet nicht, dass es kein nützliches Tool ist.
CLISP läuft auf fast allem und ist eigentlich ganz nett, es macht einfach keine Threads. (Wichtig, wenn Sie einen tatsächlichen Server schreiben möchten, aber wie PHP und Perl uns gezeigt haben, ist Apache + [Sprache einfügen] eine sehr praktikable Plattform.)
quelle
Clozure CL ist kostenlos im Mac Store erhältlich!
http://itunes.apple.com/us/app/clozure-cl/id489900618
quelle
Ich habe mir in letzter Zeit die gleiche Frage gestellt. Nachdem ich DrScheme unter OS X verwendet habe, wäre es meine erste Wahl für die Scheme-Distribution für jede Plattform. Sehr schöne IDE, Debugging-Funktionen und eine gute Auswahl an Bibliotheken / Frameworks (einschließlich eines sehr schönen GUI-Toolkits, das "einfach funktioniert ... auch auf Mac" ;-))
Jetzt suche ich jedoch nach einer ähnlich komfortablen Umgebung für Common Lisp. Es ging um CCL (OpenMCL) gegen SBCL. SBCL scheint die beliebte Wahl zu sein, aber ich habe gelesen, dass unter OS X kein Threading unterstützt wird. (Ist das wirklich ein Problem?). Clozure CL hingegen bietet gute Unterstützung für native Threads, die obcj-Brücke usw.
Ich finde CCL etwas seltsam, aber ich werde noch eine Weile dabei bleiben - es scheint immer noch die logische Wahl für die Integration zu sein.
Ich verwende Emacs 23 (aus der Quelle mit --with-ns erstellt) und Slime als Umgebung und das funktioniert gut für mich. :-)
quelle
Ich habe festgestellt, dass Chicken für Scheme gut funktioniert und über Homebrew erhältlich ist.
Der größte Teil des Codes von SICP funktioniert mit geringfügigen Änderungen.
quelle
Geh mit Racket . Ich bin sehr zufrieden damit!
quelle