Как выгрузить файл lisp в CLisp REPL? - PullRequest
6 голосов
/ 20 сентября 2010

Я могу загружать и вызывать функции, но я бы хотел перезагрузите файл после внесения некоторых исправлений.

Не можете найти функцию разгрузки или перезагрузки?

Ответы [ 2 ]

9 голосов
/ 20 сентября 2010

Разгрузка на самом деле невозможна. Например, можно удалить пакет и, таким образом, удалить его определения. Но другие ссылки на символ этого пакета все еще могут существовать.

Типичный способ справиться с этим - загрузить файл снова, как упоминал Виджей Мэтью.

Может быть полезно, чтобы загруженный файл записывался таким образом, чтобы была возможна перезагрузка.

Несколько замечаний по перезагрузке:

  • функции / макросы будут заменены новым определением.

  • функции / макросы в существующем коде не могут быть заменены из-за встраивания / расширения макроса.

  • Классы CLOS будут обновлены, а их экземпляры будут обновляться лениво.

  • Определения структуры будут обновлены, существующие экземпляры структуры не будут обновлены.

  • DEFVAR заменяет значение, если оно не существует. DEFPARAMETER всегда заменяет значение.

6 голосов
/ 20 сентября 2010

Просто используйте load снова.

...