2010-11-23 9 views
18

Seguí este tutorial e instalé con éxito Emacs, STk, Quack.¿Cómo ejecutar esquema con Emacs?

La pregunta es ¿cómo puedo cargar mi programa como lo hago en Racket?

En Raqueta puedo editar mi código en la ventana superior, escribir algunos códigos, guardar y ejecutar. Luego, la ventana inferior cargará automáticamente el código que acabo de escribir. Entonces puedo jugar con eso.

He intentado M-x run-scheme. Solo me lleva al tipo mit-scheme. Luego dice No existe tal archivo o directorio. Luego probé F5 (el autor del sitio escribió un archivo .emacs que me permite presionar F5). Luego se abre el STK. Puedo cargar mi archivo de esquema en STk. Pero me devolverá a MIT Scheme con Edwin.

Quiero tener lo mismo en Racket (Write/REPL). Pero más flexibilidad con el movimiento clave. En Racket no tiene C-f C-n C-a ... etc.

¿Alguien podría enseñarme cómo hacerlo?

+0

No es una respuesta a tu pregunta, pero: Racket es * muy * diferente de STk. Un aspecto particular de esto es más relevante para su pregunta: en STK utiliza 'load' para cargar archivos, ya que no hay un sistema de módulos (al menos ninguno que yo sepa). –

+0

Gracias por su respuesta. Solo quiero usar STk (o cualquier implementación) como un compilador interior dentro de Emacs para compilar mi código. ¡¡¡Gracias de todos modos!!! : D – juanitofatas

Respuesta

27

I literalmente solo configure esto en mi Macbook. Como no especificaste en qué sistema estás, espero que estés usando algún sabor de Unix ... En realidad, no estoy familiarizado con STk, pero esto podría ayudarte a resolver los problemas que estés teniendo, que suenan realmente similar a los problemas que enfrenté.

Si instala una implementación de Scheme (estoy usando MIT Scheme, editado para agregar que esto también funciona con Racket, usando mzscheme) puede venir con un enlace simbólico llamado "esquema" - esto es lo que Emacs busca, creo .

Si no (el esquema MIT no parece en OS X) puede editar su configuración de Emacs, en Emacs escriba M-x customize-group y luego escriba scheme. Desplácese un poco hacia abajo y busque el campo Scheme program name. Cámbielo a su comando de implementación del esquema, como mit-scheme o mzscheme. También se puede simplemente crear un enlace simbólico en su PATH que apunta a la derecha binaria:

sudo ln -s /Applications/mit-scheme.app/Contents/Resources/mit-scheme 
    /usr/local/bin/scheme 

Para MIT Esquema, también es necesario establecer la variable MITSCHEME-library-path, por lo que añadir esto a su .emacs.

(setenv "MITSCHEME_LIBRARY_PATH" 
    "/Applications/mit-scheme.app/Contents/Resources") 

Entonces usted debe ser capaz de iniciar un buffer Esquema inferior con M-x run-scheme. Y pase el código al REPL con C-x C-e, que evalúa la expresión antes del punto.

Si esto no funciona (no fue para mí), puede que necesite asegurarse de que la ruta que Emacs utiliza para ejecutar comandos de shell incluye el enlace simbólico scheme o el directorio que contiene el binario para su implementación. Con un poco de experimentación, me fijo esto añadiendo esto a mi .emacs archivo:

Emacs is ignoring my path when it runs a compile command

Para las referencias, la pregunta sí de modo que he usado para configurar esto:

How do I get a scheme interpreter working inside Emacs?

+0

Lo siento, no mencioné que mi sistema es Windows. Voy a probar tu método. ¡¡¡¡Muchas gracias!!!! ¡Buen día! – juanitofatas

+0

Lo siento si no funciona en Windows. De acuerdo con el sitio del Esquema MIT, la biblioteca de la interfaz xscheme.el no es compatible con los sistemas que no son de Unix, pero no sé si funciona el envío de 'C-x C-e' básico para REPL. ¡Informar! – spacemanaki

+0

Debería ser 'C-c C-e'. –

2

El 64 la descarga de bit desde GNU ahora tiene la .app nombrada como "MIT: GNU Scheme.app"."Traté @ instrucciones del spacemanaki pero seguí recibiendo:.

bash-3.2$ export MITSCHEME_LIBRARY_PATH=/Applications/MIT:GNU\ Scheme.app/Contents/Resources 
bash-3.2$ scheme 
    scheme: can't find a readable default for option --band. 
    searched for file all.com in these directories: 
    /Applications/MIT 
    /Applications/MIT:GNU Scheme.app/Contents/Resources/GNU Scheme.app/Contents/Resources 

tiempo me di cuenta el punto y coma estaba actuando como un separador de ruta así que asegúrese de cambiar el nombre de ella:

mv MIT:GNU\ Scheme.app/ mit-scheme.app 

las indicaciones de arriba se trabajar bien -. aunque es posible que tenga que usar Finder para hacer el cambio de nombre, porque cuando lo hice en la cáscara mi carpeta de Recursos desapareció

+1

Muchas gracias. No tenía idea de qué estaba causando ese mensaje de error – Wilduck

0

recomendaría utilizar Homebrew para instalar el MIT-esquema con comandos simples brew install mit-scheme si su están en una Mac. Encontrar su ~/.emacs file, si no existe, cree uno, añadir esto al final del archivo:

(setq scheme-program-name "your/mit-scheme/path") 

Uso which mit-scheme comando para averiguar dónde se instaló el MIT-esquema. Toma mi MacOS X como ejemplo:

(seq scheme-program-name "/usr/local/bin/mit-scheme") 

guardar y salir. Luego reinicie su Emacs y escriba M+x y usted está en el mit-sheme.

Cuestiones relacionadas