Автоматическая перезагрузка файла в LISP при вводе команды - PullRequest
2 голосов
/ 15 сентября 2011

Я изучаю LISP для класса. У меня есть базовая настройка рабочего процесса в Ubuntu с моим файлом LISP в VIM и интерактивная подсказка LISP в терминале, который я использую для тестирования кода при его написании. Есть ли способ заставить LISP загружать определенный файл каждый раз, когда я набираю команду? Это немного утомляет необходимость постоянно вводить (load 'initial-code.cl) (да, даже когда я использую историю терминала).

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

Всегда можно попробовать:

(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)

Знаете, это шутка. Не нравится что-то, измените это.

Со временем вы можете написать простую обертку, которая может создавать их на лету. Но вы поняли.

1 голос
/ 23 сентября 2011

Вы можете попробовать slimv , это как слизь для vim.

1 голос
/ 15 сентября 2011

Большинство программистов на Лиспе рекомендуют вам использовать SLIME .

Если вам нравится Eclipse, есть также плагин Lisp .

Iзнаю, что это на самом деле не отвечает на ваш вопрос, но, по крайней мере, вы можете знать о некоторых альтернативах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...