LINUX.ORG.RU

История изменений

Исправление 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 ограничивается запуском определенных команд, удобно иметь командную строку для кручения всяких телескопов.