нужно по ходу работы программы сохранять в файл(в любом формате пригодном для дальнейшего возрождения в программу) лямбды. Сначала сделал по привычке через cl-store, но оказалось что он не умеет правильно работать с ф-циями. С другой стороны на ум сразу приходит идея компилить и делать в будущем просто load. Я так, видимо, и сделаю. Только прийдётся сохранять все такие ф-ции с одним именем, в текстовом формате(это ужасно! мне придётся изменить внутреннее представление этих ф-ций). Как-то некрасиво получается, ведь всё что мне нужно - работать с объектами-функциями как с объектами, а не как с областями определений. Может есть какой-то способ?
Как-то невнятно пишу, вот так понятнее наверн будет) -
;вот как было бы всё просто при рабочем cl-store:
(cl-store:store (lambda () 1) "test") ; save
(funcall (cl-store:restore "test"))
1
;а вот так пока видится это сейчас:
(save-as-text "(defun sled () (lambda () 1))" "test")
(compile-file "test")
(load "test.fasl")
(funcall (sled))
1
;так-то даже ничего, но хз что будет при попытке распараллеливания, к примеру