Re[10]: ФП и абстракция списка
От: Кодт Россия  
Дата: 06.06.07 11:55
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

К>>Думаю, что дело в другом. У С++, как у наследника С, есть развитая система неявного приведения типов. Которая катастрофически усложняет вывод типа от результата к аргументам.


BZ>не в большей степени, чем обратный вывод


BZ>что действительно является приницпиальным ограничением, так это передача словаря методов класса (VMT) как части объекта. нет объекта — нет и VMT.


В чём препятствие? VMT — это кортеж лямбд (которые можно с самого начала замкнуть на конкретный объект — хоть это и оверхед).
Для нормальной работы нужно, чтобы система типов допускала наследование структур.
Кажется, это не ломает ХМ, потому что обращение к определённому полю VMT означает заведомый up-casting до базовой структуры VMT, содержащей это поле, и в дальнейшем информация о типе VMT уже не нужна.
Как-то я путано сказал — поскольку сам до конца не вкурил.
Если можешь привнести ясность — буду благодарен.

BZ> в type classes она передаётся отдельно, поэтому можно сделать что-нибудь в духе


В type classes передаётся статическая информация о типе, там про VMT можно вообще не задумываться (тем более, про VMT конкретных объектов).

BZ>в C++ есть templates, которые ввиду их резолвинга во время компиляции не обладают этим ограничением, и насколько я понимаю, тоже отлично резолвятся в обе стороны


В плюсовых шаблонах утиная типизация — поэтому они и резолвятся (на уровне шаблонов) отлично, что уравнения типов сводятся ну максимум к проверке арности.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.