2010-08-27 10 views
5

¿Cómo consigo el intérprete Lisp EMACS utilizar el dialecto Scheme de LISP. Estoy revisando el SICP book y soy nuevo en EMACS (¿acabo de terminar de aprender los comandos de navegación y acceso a archivos)?Esquema dialecto de Lisp en Emacs

+1

¿Qué quiere decir? ¿Te refieres a ejecutar un intérprete de esquema en Emacs? ¿O quiere decir usar Scheme para controlar Emacs? El primero es fácil, el segundo no. –

Respuesta

1

no lo hace, al menos no directamente. Lo que las personas generalmente hacen es engendrar un proceso de esquema y comunicarse directamente con eso.

Consulte external-lisp documentación sobre cómo hacerlo, así como el Emacs Wiki page for Scheme.

Ok, estaba un poco equivocado, parece que un par de personas han escrito intérpretes de Scheme encima de Emacs Lisp (vea el enlace de Wiki arriba), aunque no son esquemas completos.

1

No es así. GNU Emacs LISP está integrado en GNU Emacs, y gran parte de GNU Emacs está escrito en GNU Emacs LISP. No puede cambiar el intérprete LISP incorporado sin romper masivamente Emacs.

GNU/MIT Esquema incluye el editor de Edwin, un editor Emacs-como por escrito en el esquema. Es posible que pueda usar eso en lugar de GNU Emacs. recomendación

El otro tipo de desove del esquema de un proceso y la comunicación con que parece ser la mejor idea.

13

Para hacer SICP, debe usar un intérprete de esquema externo ya que Emacs Lisp es diferente de Scheme y no se ha creado una implementación correcta del esquema encima de Emacs Lisp. Otra razón por la que debe usar un intérprete de esquema externo es la velocidad de ejecución.

La solución más sencilla es utilizar PLT Scheme ahora llamado Racket:

  • Descargar e instalar esquema del sitio de la raqueta.

  • Configure después scheme-program-name la variable al valor mzscheme

  • Por último ejecute el comando run-scheme: se ejecutará MzScheme proceso en un búfer *scheme*.

El tampón de *scheme* utilizar el modo mayor inferior-scheme-mode que define las siguientes teclas:

CcCk esquema-compilar-file

CcCl esquema-load- archivo

C-xC-e esquema-send-pasado-sexp

C-M-x esquema de enviar definición

7

respuesta de Jerome es una buena manera sencilla para empezar.Si planea trabajar con ejercicios más largos en SICP, le sugiero que instale Quack, que es un paquete de Emacs que proporciona muchas funciones útiles para formatear, editar y ejecutar código Scheme. Es el estándar de facto.

Aún tendrá que instalar su dialecto preferido de Scheme (también sugiero Racket aquí) de forma independiente, y luego usar Emacs para comunicarse con él.

This page y this other page pueden ayudarlo con algunos otros recursos para configurar y usar Emacs para este fin.