¿Cómo usar SLIME como proxy entre el programa Common Lisp y Emacs Lisp?

15

Estoy buscando hacer lo siguiente: Tengo un programa escrito en Common Lisp, que quiero poder comunicar con Emacs. El programa trata con el análisis del lenguaje natural, por lo que las cosas a las que necesitaría acceder en Emacs serían los contenidos del búfer y un análisis preliminar mínimo requerido para crear mensajes para enviar al programa Common Lisp. El programa Common Lisp procesará los mensajes y responderá al programa Emacs Lisp, de modo que mostrará los resultados.

Entiendo que SLIME sería una buena herramienta para lograr esto, principalmente porque ya lo hace la mayor parte, pero al investigar la documentación encuentro que es un tipo de "documentación del usuario", no una "documentación del desarrollador". Esencialmente, me gustaría saber cuál es el mínimo que podría usar en el lado de Emacs Lisp para iniciar la comunicación (ciertamente no necesito la introspección o REPL en este caso, todo lo que necesito es enviar mensajes y de mi programa ejecutándose en SWANK).

wvxvw
fuente

Respuestas:

7

Desde el lado CL, la función que está buscando es swank::eval-in-emacsa la que le pasa el código que desea evaluar en emacs. Puede ver un ejemplo aquí , para hacer que emacs ejecute el comando graphivz y abra el png resultante en un búfer. Desde el lado de emacs, la función que está buscando es slime-eval (que se encuentra en slime.el)

PuercoPop
fuente
Lo siento, me tomó un tiempo volver a hacerlo.
wvxvw