2010-08-27 18 views
5

Come faccio a ottenere l'interprete Lisp EMACS utilizzare il dialetto Schema di LISP. Sto esaminando lo SICP book e sono nuovo in EMACS (ho appena finito di apprendere i comandi di navigazione e di accesso ai file)?Schema dialetto di Lisp in Emacs

+1

Cosa vuoi dire? Intendi gestire un interprete di schemi in Emacs? Oppure Intendi usare Scheme per controllare Emacs? Il primo è facile, il secondo no. –

risposta

1

Non lo fai, almeno non direttamente. Ciò che le persone generalmente fanno è generare un processo di schema e comunicare direttamente con quello.

Vedere la documentazione external-lisp per informazioni su come farlo, nonché Emacs Wiki page for Scheme.

Ok, mi sbagliavo un po ', sembra che un paio di persone abbiano scritto gli interpreti Scheme su Emacs Lisp (vedi il link Wiki sopra), anche se non sono Schemes completi.

1

Non è così. GNU Emacs LISP è integrato in GNU Emacs e gran parte di GNU Emacs è scritto in GNU Emacs LISP. Non è possibile modificare l'interprete LISP integrato senza interrompere in modo massivo Emacs.

GNU/MIT Scheme include l'editor di Edwin, un editor di tipo Emacs scritto in Scheme. Potresti essere in grado di usarlo al posto di GNU Emacs.

La raccomandazione dell'altra persona di spawing un processo di schema e comunicare con quello sembra l'idea migliore.

13

Per fare SICP, è necessario utilizzare un interprete di schema esterno poiché Emacs Lisp è diverso da Scheme e non è stata creata un'implementazione corretta dello schema su Emacs Lisp. Un altro motivo per cui dovresti usare un interprete di schemi esterno è la velocità di esecuzione.

La soluzione più semplice è quello di utilizzare PLT Scheme ora chiamato Racket:

  • Scaricare e installare schema dal sito Racket.

  • quindi configurare la variabile scheme-program-name al valore mzscheme

  • Infine eseguire il comando run-scheme: esegue MzScheme processo in un buffer *scheme*.

Il buffer *scheme* utilizzare la modalità principale inferior-scheme-mode che definisce i seguenti tasti:

CcCk schema-compilare file

CcCl schema-load file

C-xC-e schema-inviare-last-sexp

C-M-x schema-inviare-definizione

7

risposta di Jerome è un buon modo semplice per iniziare.Se hai intenzione di lavorare con esercizi più lunghi in SICP, ti suggerisco caldamente di installare Quack, che è un pacchetto Emacs che offre molte utili funzioni per la formattazione, la modifica e l'esecuzione del codice Scheme. È lo standard di fatto.

Devi ancora installare il tuo dialetto preferito di Scheme (suggerisco anche Racket qui) in modo indipendente, e quindi usare Emacs per comunicare con esso.

This page e this other page potrebbero aiutarti con alcune altre risorse per l'impostazione e l'utilizzo di Emacs per questo scopo.