Rifat писал(а):
В случае, когда один тип записи определен в одном модуле, а расширяется в другом модуле, тоже можно запретить расширение - просто не эксортировать этот тип и всё. А если экспортируется обычный тип запись, то и расширить можно. А если хочется экспортировать, но запретить расширять, то экспортировать как указатель на запись.
Заодно разрешив только динамику. КП с его EXTENSIBLE мне кажется более универсальным решением. Напоминаю, что свойством EXTENSIBLE можно пометить и указатель на запись, и запись, и метод. А можно не помечать. Т.е. минимализм Оберона-07 конечно похвален, зато КП даёт больше возможностей по варьированию описания экспорта. А регламентирование межмодульных взаимодействий — очень важная вещь. Я буду рад, если КП будет развиваться в этом направлении.
Rifat писал(а):
Как мне кажется, расширение записей идет в ногу с динамическими структурами данных. Пока не могу представить себе пример, когда используются расширенные записи без указателей на них.
Если кто-нибудь может привести такой пример, то был бы рад узнать о нем.
Здесь на форуме Илья Ермаков писал про то, что на Обероне/КП можно писать без использования указателей и нагрузки на сборщик мусора. Если можно, приводите примеры.
Решил в форке Ofront'а сделать как в КП — реализовать EXTENSIBLE.