Ich habe meinen Weg durch The Little Schemer und ich fragte mich, welche Umgebung, IDE oder Interpreter wäre am besten zu verwenden, um einen der Scheme-Code zu testen, den ich für mich selbst notieren.Welche Umgebung, IDE oder Interpreter soll in die Praxis umgesetzt werden?
Antwort
Racket (formerly Dr Scheme) hat einen netten Editor, mehrere verschiedene Scheme-Dialekte, einen Versuch des visuellen Debuggens, viele Bibliotheken und kann auf den meisten Plattformen laufen. Es gibt sogar einige Modi, die speziell darauf ausgerichtet sind, die Sprache zu lernen.
PLT Scheme (DrScheme) ist eine der besten IDEs da draußen, vor allem für Scheme. Das Paket, das Sie beim Herunterladen erhalten, enthält alles, was Sie zum Entwickeln von Programmcode benötigen - Bibliotheken, Dokumentation, Beispiele und so weiter. Sehr empfehlenswert.
LispMe arbeitet mit einem Palm Pilot, nehmen Sie es überall hin mit und planen Sie unterwegs. GREAT Weg, um Schema zu lernen.
Wenn Sie nur Ihren Schemacode testen möchten, empfehle ich PLT Scheme. Es bietet eine sehr vollständige Umgebung mit Debugger, Hilfe usw. und funktioniert auf den meisten Plattformen.
Aber wenn Sie auch eine Vorstellung davon bekommen möchten, wie der Interpreter hinter den Kulissen funktioniert und Visual Studio hat, würde ich Tachy empfehlen. Es ist ein sehr einfacher Schema-Interpreter, geschrieben in C#. Es ermöglicht Ihnen, nur Ihren Schemacode zu debuggen, oder Sie können auch durch den C# -Dolmetscher hinter den Kulissen gehen, um zu sehen, was vor sich geht.
Ich habe PLT wie in einigen der anderen Beiträge erwähnt und es funktioniert ganz gut. Eine, die ich gelesen habe, aber nicht benutzt habe, ist Allegro Common LISP Express. Ich habe eine hervorragende Rezension über ihre Datenbank-App namens Allegro Cache gelesen und festgestellt, dass sie in LISP stark ist. Wie ich schon sagte, ich weiß nicht, ob es gut ist, aber es könnte einen Versuch wert sein.
Gemeinsame Lisp und Schema sind nicht das Gleiche. – Marcin
Ich würde sowohl Chicken als auch für Schema sehr empfehlen.
Es spielt keine Rolle, solange Sie die Mailingliste (wiki/irc/online-community-site) für die zugehörige Community abonnieren. Es lohnt sich wahrscheinlich, sich die Listenbeschreibung und die Archive anzusehen, um sicherzugehen, dass Sie in der richtigen Reihenfolge sind.
Die meisten von ihnen sind freundlich und einladend für Neulinge, also haben Sie keine Angst zu fragen.
Es lohnt sich auch, die Archive ihrer Mailingliste (oder FAQ oder was auch immer sie verwenden) zu durchsuchen, wenn Sie eine Frage haben - nur für den Fall, dass es eine häufige Frage ist.
Viel Glück!
Nur für den Rekord muss ich IronScheme erwähnen.
IronScheme wird eine R6RS-konforme Scheme-Implementierung basierend auf dem Microsoft DLR anstreben.
Version 1.0 Beta 1 wurde gerade veröffentlicht. Ich denke, das sollte eine gute Implementierung für jemanden sein, der bereits .NET Framework verwendet.
EDIT
Die aktuelle Version ist 1.0 RC 1 vom 23. Oktober 2009
Google für die Buchautoren (Daniel Friedman und Matthias Felleisen). Sehen Sie, ob einer von ihnen an einer beliebten, freien, bestehenden Scheme-Implementierung beteiligt ist.
Ich war sicherlich snarky, im Jahr 2009. Entschuldigung. –
Ich arbeite derzeit auch durch den Little Schemer und benutze Emacs als meine Umgebung, entlang Quack, die zusätzliche Unterstützung und Dienstprogramme für Schema-Modus innerhalb Emacs hinzugefügt.
Wenn Sie mit anderen Lisps experimentieren (z. B. Common Lisp), hat Emacs auch für diese Dialekte eine ausgezeichnete Unterstützung (Emacs selbst kann mit einem eigenen Lisp-Dialekt angepasst werden, entsprechend Emacs Lisp).
Soweit Scheme-Implementierungen gehen, verwende ich derzeit Petit Chez Scheme, die eine interpretierte, frei verteilbare Version von Chez Scheme ist (die einen Compiler verwendet und Geld kostet, um eine Lizenz zu erhalten).
Guile läuft unter Geiser innerhalb Emacs bietet eine schöne, leichte Umsetzung für die Übungen. Racket wird auch unter Geiser und Emacs laufen, obwohl ich persönlich Guile ein bisschen mehr bevorzuge.
Offensichtlich Installation von jedem hängt von Ihrem Betriebssystem ab. Ich würde empfehlen, Emacs version 24 und später zu verwenden, da dies ermöglicht, Melpa oder Marmalade zu verwenden, um Geiser und andere Emacs Erweiterungen zu installieren.
Die current version of Geiser funktioniert auch ganz gut mit Chicken Scheme.
- 1. WPF Welche IDE soll man verwenden?
- 2. Welche Datenstruktur soll verwendet werden?
- 3. Umgebung mit mehreren Python-Interpreter
- 4. Welche Hadoop-Version soll verwendet werden?
- 5. Welche Diagramm verwendet werden soll Algorithmus Logik
- 6. Welche MediaWiki-API soll verwendet werden?
- 7. Welche Regel-Engine soll verwendet werden?
- 8. Welche Skalierungsmethode soll vor PCA verwendet werden?
- 9. Welche C# -Datenstruktur soll verwendet werden?
- 10. Welche grafische Umgebung?
- 11. Soll ich IDE-Projektdateien in das Versionskontrollsystem einchecken?
- 12. Wie können Umleitungen in Selen am besten umgesetzt werden?
- 13. In welche Spalte soll der Clustered-Index gesetzt werden?
- 14. Welche Aufgabe soll in diesem Beispiel erstellt werden?
- 15. Gute C++ Debugging/IDE-Umgebung für Linux?
- 16. Kann die Python-Interpreter-Begrüßungsnachricht unterdrückt werden?
- 17. Scala IDE: Einstellung der Version von Scala-Interpreter
- 18. Welche InitialContextFactory soll ich verwenden?
- 19. Wie kann die Build-Umgebung während des Produktlebenszyklus erhalten werden?
- 20. RP Reich „URN“ werden soll oder „urn
- 21. Welche Datenbank zum Speichern von Schlüsselwertpaaren (Array) verwendet werden soll
- 22. Welche IDE verwenden CLISP-Programmierer?
- 23. Wie entscheidet SignalR, welche Transportmethode verwendet werden soll?
- 24. Wie bestimmt Propel, welche Datenbank für Befehlszeilentools verwendet werden soll?
- 25. java.lang.ClassCastException: org.glassfish.jersey.jackson.internal.JacksonAutoDiscoverable kann nicht in spi.AutoDiscoverable umgesetzt werden
- 26. Bestimmen, welche Methode ausgeführt werden soll (Typ System)
- 27. JIRA Plugin json Ressource: kann nicht in com.atlassian.json.marshal.Jsonable umgesetzt werden
- 28. Welches CMS oder Plugin soll verwendet werden?
- 29. Woher wissen Sie, welche Art von Konstruktor verwendet werden soll?
- 30. Upgrades ohne Neustart - welche Probleme treten in der Praxis auf?
Nur zur Erinnerung: die meisten Scheme-Implementierungen sind ** NOT ** Interpreter, aber Compiler ... –