2010-08-27 5 views
5

Comment obtenir l'interpréteur Lisp EMACS utiliser le dialecte Schéma de LISP. Je vais au-dessus du SICP book et suis nouveau à EMACS (juste fini d'apprendre les commandes de navigation et d'accès de dossier)?Dialecte de Lisp dans Emacs

+1

Que voulez-vous dire? Voulez-vous dire courir un interprète de régime dans Emacs? Ou Voulez-vous dire utiliser Scheme pour contrôler Emacs? Le premier est facile, le second ne l'est pas. –

Répondre

1

Vous ne le faites pas, du moins pas directement. Ce que les gens font généralement est de générer un processus de schéma et de communiquer directement avec cela.

Voir la documentation external-lisp pour savoir comment faire cela, ainsi que le Emacs Wiki page for Scheme. Ok, j'avais un peu tort, il semble que quelques personnes aient écrit des interprétations Scheme sur Emacs Lisp (voir le lien Wiki ci-dessus), même si elles ne sont pas des fonctionnalités complètes.

1

Ce n'est pas le cas. GNU Emacs LISP est intégré dans GNU Emacs, et une grande partie de GNU Emacs est écrite dans GNU Emacs LISP. Vous ne pouvez pas changer l'interpréteur LISP intégré sans casser massivement Emacs. GNU/MIT Scheme inclut l'éditeur Edwin, un éditeur de type Emacs écrit dans Scheme. Vous pourriez peut-être utiliser cela à la place de GNU Emacs.

La recommandation de l'autre gars de générer un processus de schéma et de communiquer avec cela semble être la meilleure idée.

13

Pour utiliser SICP, vous devez utiliser un interpréteur de schéma externe car Emacs Lisp est différent de Scheme et aucune implémentation correcte du schéma n'a été créée au-dessus d'Emacs Lisp. Une autre raison pour laquelle vous devez utiliser un interpréteur de schéma externe est la rapidité d'exécution.

La solution simple consiste à utiliser PLT Scheme maintenant appelé Racket:

  • Télécharger et installer système à partir du site Racket.

  • configurer la variable scheme-program-name à la valeur mzscheme

  • Enfin exécutez la commande run-scheme: il fonctionnera mzscheme processus dans un tampon *scheme*.

Le tampon *scheme* utiliser le mode majeur inferior-scheme-mode qui définit les touches suivantes:

CcCk-système de compilation fichier

CcCl-load-plan fichier

C-xC-e schéma-send-dernière sexp

schéma-envoyer définition C-M-x

7

réponse de Jérôme est un bon moyen simple pour commencer.Si vous envisagez de travailler sur des exercices plus longs dans SICP, je suggère fortement d'installer Quack, qui est un paquet Emacs qui fournit de nombreuses fonctionnalités utiles pour le formatage, la modification et l'exécution du code de schéma. C'est la norme de facto.

Vous devrez toujours installer votre dialecte préféré de Scheme (je suggère également Racket ici) indépendamment, puis utiliser Emacs pour communiquer avec lui. Pour plus d'informations sur la configuration et l'utilisation d'Emacs, consultez la page suivante: http://www.microsoft.com/france/security/modules/documents/Emacs.html.

Questions connexes