Всегда можно попробовать:
(let (fn)
(defun l (&optional filename)
(if filename
(setf fn filename))
(load fn)))
Работает так:
[2]> (l "x.lisp")
;; Loading file x.lisp ...
;; Loaded file x.lisp
T
[3]> (l)
;; Loading file x.lisp ...
;; Loaded file x.lisp
T
[4]>
Довольно просто.
Вы также можете сделать что-то вроде:
(defun go ()
(load "project.lisp")
(yourfunc 'your 'parameters))
Затем вы просто набираете (go), и он перезагружает ваш файл и вызывает вашу основную точку входа.
Или даже объединить их:
(defun gogo (&rest args)
(l) ;; call (l "file.lisp") first to initialize it
(apply #'yourfunc args))
тогда вы можете легко изменить ваши параметры
(gogo 1 2)
(gogo 2 4)
Знаете, это шутка. Не нравится что-то, измените это.
Со временем вы можете написать простую обертку, которая может создавать их на лету. Но вы поняли.