2009-01-02 23 views

Respuesta

3

Acepto que el mejor método de flujo de trabajo es escribir su código en un búfer separado y evaluarlo en lugar de ingresar las funciones en el repl.

Suponiendo que hayas pasado por el camino correcto, supongo que la solución de C. Martin para guardar el registro de repl y realizarlo manualmente son tus únicas opciones.

Si ingresó las funciones y los vars en un paquete separado, puede examinar los símbolos del paquete para decidir qué desea conservar.

E.g. para ver todos los símbolos creados en el paquete cl-user:

(let ((p (find-package :cl-user))) 
    (loop 
    for s being the symbols in p 
    when (eq p (symbol-package s)) 
    do (format t "~a~%" s))) 
5

No lo entiendo. ¿Está ingresando definiciones en REPL y esperando recuperarlas más tarde? Simplemente guarde un archivo fuente como lo haría en cualquier otro idioma. Use C-x 2 para dividir su ventana de Emacs en dos. Abra un archivo fuente en uno de ellos C-x C-f foo.lisp. Use C-c C-k, C-c C-r y amigos (vea el menú SLIME) para compilar/evaluar regiones de su código fuente en REPL.

5

He buscado algo como esto en el pasado y no he podido encontrarlo. Es mejor que escriba todas sus definiciones en un búfer separado y utilizando las amplias funciones de evaluación/compilación de SLIME (Cc Ck carga un archivo completo, Cx Ce evalúa la última expresión, Cc Cr evalúa una región, etc.), solo ingresando directamente en las cosas REPL que no quieres guardar

4

Um, C-x o o C-x b llegar a la memoria intermedia BABA REPL, entonces C-x w o C-x C-s para guardarlo en un archivo. Todas las cosas de SLIME/CL son un comentario del lector; puede escribir un truco de lector para volver a cargar el archivo tratando las solicitudes en forma de comentarios, o puede examinar el archivo usted mismo para capturar las piezas que desea guardar.

+0

Sé que debería haberme dado cuenta de esto. Supongo que todavía estoy un poco con los ojos abiertos cuando se trata de Emacs. ¡Gracias! – dogenpunk

Cuestiones relacionadas