Сбросить состояние в Common Lisp

Новичок общий вопрос Lisp здесь.

есть ли способ сбросить состояние окружающей среды? Я имею в виду, есть ли какая-то команда, которая возвращает REPL в то же состояние, что и сразу после его запуска, то есть неинтернирует все переменные, функции и т. д. Или, если это не в общем стандарте Lisp, есть ли какое-то расширение в SBCL (реализация, которую я использую), чтобы сделать это?

(редактировать: Я знаю, что в слизи, M-x slime-restart-inferior-lisp делает это, но мне интересно, есть ли способ без перезапуска процесса)

2 ответов


В общем, нет. Я иногда хочу сделать что-то подобное, поэтому мой рабочий процесс обычно заключается в создании нового пакета для хранения любого проекта, который я начинаю, а затем, когда я хочу сбросить вещи, я использую DELETE-PACKAGE. Я никогда не делаю никакой работы в пакете CL-USER, так как в разных реализациях есть разные вещи.


используйте C-c M-o, как указано в меню REPL Clear Buffer