2010-08-27 12 views
5

Wie bekomme ich den EMACS-Lisp-Interpreter den Scheme-Dialekt von LISP. Ich gehe über die SICP book und bin neu in EMACS (gerade fertig mit dem Lernen der Navigations-und Dateizugriffsbefehle)?Schema-Dialekt von Lisp in Emacs

+1

Was meinen Sie? Meinst du, in Emacs einen Dolmetscher zu leiten? Oder meinst du mit Scheme, um Emacs zu kontrollieren? Der erste ist einfach, der zweite nicht. –

Antwort

1

Sie nicht, zumindest nicht direkt. Was Leute im Allgemeinen tun, ist ein Schema-Prozess zu spawnen und direkt damit zu kommunizieren.

Siehe external-lisp Dokumentation nach, wie das zu tun, sowie die Emacs Wiki page for Scheme.

Ok, ich war ein bisschen falsch, es sieht so aus, als ob ein paar Leute Scheme-Interpreter auf Emacs Lisp geschrieben haben (siehe den obigen Wiki-Link), obwohl sie nicht vollständig vorprogrammiert sind.

1

Sie nicht. GNU Emacs LISP ist in GNU Emacs integriert, und ein großer Teil von GNU Emacs ist in GNU Emacs LISP geschrieben. Sie können den integrierten LISP-Interpreter nicht ändern, ohne Emacs massiv zu unterbrechen.

GNU/MIT Scheme enthält den Edwin-Editor, einen Emacs-ähnlichen Editor, der in Scheme geschrieben wurde. Möglicherweise können Sie das anstelle von GNU Emacs verwenden.

Die Empfehlung des anderen Typen, einen Schema-Prozess zu spawnen und damit zu kommunizieren, scheint die bessere Idee zu sein.

13

Um SICP zu tun, sollten Sie einen externen Schema-Interpreter verwenden, da sich Emacs Lisp von Schema unterscheidet und keine korrekte Implementierung des Schemas über Emacs Lisp erstellt wurde. Ein anderer Grund, warum Sie einen externen Schema-Interpreter verwenden sollten, ist die Geschwindigkeit der Ausführung.

Die einfache Lösung ist jetzt PLT Scheme Racket genannt zu verwenden:

  • Herunterladen und Installieren Schema von Racket-Website.

  • konfigurieren Sie dann die Variable scheme-program-name auf den Wert mzscheme

  • schließlich den Befehl ausführen run-scheme: es wird MzScheme Prozess in einen *scheme* Puffer laufen.

Der *scheme* Puffer den inferior-scheme-mode Hauptmodus verwenden, der die folgenden Tasten definiert:

CcCk scheme-Kompilierung Datei

CcCl scheme-last- Datei

C-xC-e Schema-send-last-sexp

C-M-x Schema-send-Definition

7

Jerome Antwort ist ein guter, einfacher Weg, um loszuzulegen.Wenn Sie vorhaben, längere SICP-Übungen durchzuführen, empfehlen wir dringend die Installation von Quack, einem Emacs-Paket, das viele nützliche Funktionen zum Formatieren, Bearbeiten und Ausführen von Programmcode bietet. Es ist der De-facto-Standard.

Sie müssen Ihren bevorzugten Dialekt von Schema (ich empfehle auch hier Racket) unabhängig installieren, und dann Emacs verwenden, um mit ihm zu kommunizieren.

This page und this other page können Sie mit einigen anderen Ressourcen für die Einrichtung und Verwendung von Emacs für diesen Zweck helfen.