История изменений
Исправление MOPKOBKA, (текущая версия) :
Можно блок информации хранить в виде байтов.
Но нельзя взять структуру (struct game-state (...)) и просто вызвать эту функцию, и отправить клиенту diff, как это сделано в С. В высокоуровневых/ограниченных языках это обычно решается написанием дополнительного слоя serialization/deserialization, потому что невозможно выбрать единое представление для всех типов.
Сохранение образа в файл в ANSI CL не обязательно.
Тогда непонятно почему так много разговоров о работе в образе, только из за того что некоторые реализации его решили поддержать?
А вот работа в образе, когда можно перекомпилировать любую функцию или даже определение структуры, определить макрос и тут же использовать, это обязательно.
А как это происходит в CL? Вот например Forth не предоставляет никаких инструментов для повторного defstruct с расширением поля. А CL? Я попробовал, он выдал ошибку, я думал что не выдаст а магически все сам преобразует, и это будет моим аргументом что работа в обрезе Forth ограничивается запуском определенных команд, удобно иметь командную строку для кручения всяких телескопов.
* (defstruct point x y)
POINT
* (defstruct point x y z)
... ERROR ...
Исходная версия MOPKOBKA, :
Можно блок информации хранить в виде байтов.
Но нельзя взять структуру (struct game-state (...)) и просто вызвать эту функцию, и отправить клиенту diff, как это сделано в С. В высокоуровневых/ограниченных языках это обычно решается написанием дополнительного слоя serialization/deserialization, потому что невозможно выбрать единое представление для всех типов.
Сохранение образа в файл в ANSI CL не обязательно.
Тогда непонятно почему так много разговоров о работе в образе, только из за того что некоторые реализации его решили поддержать?
А вот работа в образе, когда можно перекомпилировать любую функцию или даже определение структуры, определить макрос и тут же использовать, это обязательно.
А как это происходит в CL? Вот например Forth не предоставляет никаких инструментов для повторного defstruct с расширением поля. А CL? Я попробовал, он выдал ошибку, я думал что не выдаст а магически все сам преобразует, и это будет моим аргументом что работа в обрезе Forth ограничивается запуском определенных команд, удобно иметь командную строку для кручения всяких телескопов.