Re[21]: Мифический Haskell
От: Klapaucius  
Дата: 22.03.12 10:01
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Неправда, он интерпретируется в этом месте:

V>
V>ScalarProduct a => ScalarProduct (Cons a) where
V>


Ага, классы типов — это такой недопролог, который интерпретируется, правда во время компиляции.

V>В отличие от Haskel, подобное преобразование типов (распаковка) для кода Tonal- выполняется в compile-time.


Это в хаскеле — во время компиляции. А в C++ такой код не написать.

V>Тоже неправда. Для АлгТД статически проверяется только м-но допустимых запакованных типов, то бишь статически проверяется лишь некое ограничение на возможный тип, но не сам запакованный тип.


Не понимаю, что за запакованный тип. Для АлгТД статически проверяется множество населяющих его значений — как и у любого другого типа. Типы, ни "запакованные", ни какие АлгТД не населяют, они населяют кайнд. Кайнды, конечно, тоже бывают алгебраическими.

V>Конкретный тип распаковывается исключительно в рантайм, а сама техника распаковки тождественна технике dynamic_cast (с точностью до деталей, то бишь с точностью до способа кодирования/представления токена типа для целей рантайма).


Каст преобразует тип значения. Матчинг АлгТД никаким преобразованием типов не занимается.

V>И опять неправда и непонимание происходящего.


Точно, непонимание, как оно есть.

V>Там, где ML-яык работает с боксированными значениями в рантайм


Какая разница, боксированы значения или нет, если речь идет о типах? Будут значения боксированными или нет — это вообще детали реализации, на статичность/динамичность
системы типов не влияющие.

V>там мы имеем классическую эмуляцию динамики/интерпретации, хоть и со статическими проверками допустимости


Так динамика или стат. проверки? Тут одно из двух.

V>мн-ва АлгТД в момент компиляции.


Что за "множество АлгТД"?

V>инстанциировать типы целиком


А это что значит?

V>Они не нужны только для боксированной реализации рекурсивных типов и прочей динамической типизации.


Типы не бывают "боксированными" — такими бывают значения. И к динамике это не имеет отношения. Динамика — это когда нет стат. типов, есть рантайм проверки. Типы в рантайме в хаскеле вообще не проверяются. В рантайме их нет — они уже стерты.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.