Предыстория вопроса:
в tiscript/sciter встраивается persistence. Прямо в язык и рантайм.
Примерно это выглядит так:
Создание нового:
var storage = Storage.create(....);
storage.root = { one: 1; two: 2; };
storage.commit();
Использование существующего:
var storage = Storage.open(....);
var root = storage.root;
stdout << root.one;
stdout << root.two;
Я думаю идея понятна. Все терминальные типы int, string, float, etc. сохраняются прозрачно.
Также прозрачно сохраняются object, array и специальный тип коллекции index. Соответсвенно
и читаются (lazy reading)
Ну и теперь собственно философический вопросы:
1) к терминальным типам относятся также функции (внутри представлены как bytecode vector).
Технически несложно сохранять в storage и функции. Но что-то мне подсказывает что это будет
уже некая другая сущность а не storage. Как думаете?
2) если можно №1 то появляется возможность сохранять также классы (собственно они такие же объекты).
А это уже чего такое будет за storage?
Какие будут ваши мысли по теме?