Из того, что мне сказал мой учитель, я должен использовать let для объявления локальных переменных и setf для объявления глобальных переменных.
Я пробовал запустить следующий код:
(let (state-list (problem-initial-state problem))
(print state-list))
и я получаю NIL.
Однако когда я пытаюсь сделать следующее:
(setf state-list (problem-initial-state problem))
(print final-list)
Я получаю желаемое значение (значение в задаче "проблема-начальное состояние").
Это почему?
PS: Я прошу прощения за эти вопросы начинающих, мне трудно войти в LISP, исходя из фона C.