проблема с переменной в lisp

Я пишу программу на Common Lisp, в которой мне нужна функция с этой базовой схемой) :

(defun example (initial-state modify mod-list)
  (loop for modification in mod-list
        collecting (funcall modify initial-state modification)))

Проблема в том, что мне нужно, чтобы начальное состояние было одинаковым каждый раз, когда оно передается в modify , но modify может быть разрушительным. просто сделал бы копию, но я не хочу делать никаких предположений о том, какой тип данных начальное состояние .

Как я могу это сделать? Или это вообще возможно?

Спасибо!

6
задан smackcrane 14 June 2011 в 23:45
поделиться