Re[16]: Импорт модулей
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 16.08.05 10:25
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Такого быть не должно. На этапе компиляции должна отслеживатся обратная совместимость и уже существующие сигнатуры не должны изменятся или удалятся. Только добавление новых.


Это как это? Мой модуль — как хочу так его и изменяю. К тому же это невозможно технически. Ведь компилятору (и автору модуля тоже) не известны модули-клиенты (да и их количество ни чем не ограничено), а известны только импортируемые модули.
Re[19]: Импорт модулей
От: Дарней Россия  
Дата: 17.08.05 04:40
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А я, наконец-то, понял, Вы говорите, что слова "контроль версий типов во время выполнения программы" и слова "контроль необходимости перекомпиляции" обозначают разные вещи. Естественно это так.


СГ>Я то всё время, говоря об инвалидации модулей-клиентов одновременно добавлял еще одну фразу: "а значит их нужно перекомпилировать". Естественно, что можно было эту вторую фразу не добавлять, а просто говорить об инвалидации модулей-клиентов. Теперь Ваше сообщение стало мне понятно.


Теперь осталось еще понять, что даже если тип не изменился, но изменились типы, от которых он зависит — то тип все равно должен считаться инвалидированным.
Плюс к этому надо учитывать неявные зависимости от других типов через совместно используемые данные.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[20]: Импорт модулей
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.08.05 05:59
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Теперь осталось еще понять, что даже если тип не изменился, но изменились типы, от которых он зависит — то тип все равно должен считаться инвалидированным.


Это всё, естественно, учитывается.

Д>Плюс к этому надо учитывать неявные зависимости от других типов через совместно используемые данные.


А вот это уже будет лишний двойной учет. Данные — это экспортируемая переменная. Если она достаточно сильно изменена, то импортирующий ее модуль уже инвалидируется. А раз он и так уже инвалидирован, то больше не надо искать других причин для его инвалидации, достаточно одной причины.
Re[21]: Импорт модулей
От: Дарней Россия  
Дата: 17.08.05 07:26
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

Д>>Теперь осталось еще понять, что даже если тип не изменился, но изменились типы, от которых он зависит — то тип все равно должен считаться инвалидированным.


СГ>Это всё, естественно, учитывается.


Описаний того, как это происходит, я не видел.

СГ>Данные — это экспортируемая переменная. Если она достаточно сильно изменена, то импортирующий ее модуль уже инвалидируется.


НЕ экспортируемая переменная. Внутренняя переменная, которая совместно используется несколькими типами в пределах импортированной сборки.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[17]: Импорт модулей
От: Kluev  
Дата: 17.08.05 07:26
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Kluev, Вы писали:


K>>Такого быть не должно. На этапе компиляции должна отслеживатся обратная совместимость и уже существующие сигнатуры не должны изменятся или удалятся. Только добавление новых.


СГ>Это как это? Мой модуль — как хочу так его и изменяю. К тому же это невозможно технически. Ведь компилятору (и автору модуля тоже) не известны модули-клиенты (да и их количество ни чем не ограничено), а известны только импортируемые модули.


Тогда никто кроме тебя им пользоватся и не будет. А хочешь делать компонент для использования в других программах обеспечь обратную совместимость. Или делай несовместимые версии с разными именами.

СГ>К тому же это невозможно технически

Что? невозможно обеспечить обратную совместимость? Это легко делается даже в с. старые сигнатуры не меняй, новые добавляй. Все будет работать
Re[22]: Импорт модулей
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.08.05 08:06
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Здравствуйте, Сергей Губанов, Вы писали:


Д>>>Теперь осталось еще понять, что даже если тип не изменился, но изменились типы, от которых он зависит — то тип все равно должен считаться инвалидированным.


СГ>>Это всё, естественно, учитывается.


Д>Описаний того, как это происходит, я не видел.


Так увидьте! Вы ту диссертацию (ссылка №8) уже скачали? Исходные коды Блэкбокса уже посмотрели?

СГ>>Данные — это экспортируемая переменная. Если она достаточно сильно изменена, то импортирующий ее модуль уже инвалидируется.


Д>НЕ экспортируемая переменная. Внутренняя переменная, которая совместно используется несколькими типами в пределах импортированной сборки.


Я не понял о чем Вы.
Re[23]: Импорт модулей
От: Дарней Россия  
Дата: 17.08.05 08:31
Оценка: -1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Так увидьте! Вы ту диссертацию (ссылка №8) уже скачали? Исходные коды Блэкбокса уже посмотрели?


у меня просто нет на это время. Точнее, овчинка не стоит выделки — и так видно, что оберон слишком плохо продуман. Хотя какие-то хорошие идеи там возможно и есть.

СГ>Я не понял о чем Вы.


Тогда я ничем тебе помочь не могу.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[24]: Импорт модулей
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 17.08.05 09:18
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Точнее, овчинка не стоит выделки — и так видно, что оберон слишком плохо продуман.


Для опровержения Вашего заявления, здесь список защищенных по оберонам и оберон-системам диссертаций/книг/публикаций. Все они очень хорошо продуманы.
Re[25]: Импорт модулей
От: Дарней Россия  
Дата: 17.08.05 09:36
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Для опровержения Вашего заявления, здесь список защищенных по оберонам и оберон-системам диссертаций/книг/публикаций. Все они очень хорошо продуманы.


Это мы уже слышали, начинать бесплодный спор сначала у меня желания нет.
Поэтому я просто скажу — как практик, я не считаю эту систему пригодной для широкого применения. Точка.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.