Re[13]: IEquatable<T>
От: vdimas Россия  
Дата: 14.02.17 07:50
Оценка:
Здравствуйте, samius, Вы писали:

V>>Сам разве не обратил внимания, что между List<T> и ограничением IEquatable<T> нет никакой связи на уровне типов языка.

S>А ты не обратил внимания, что между списком в Хаскеле и Eq a тоже нет никакой связи на уровне типов языка?

В Хаскеле эта связь есть через текущий контекст вычислений, когда над каждым типом может выводиться более одного ограничения.
В ФП другая техника, другие принципы декомпозиции.


V>>Он ведь правильно пишет (по наитию, скорее):

V>>

V>>Как он (comparer) там создаётся вообще пофигу.

V>>"Пофигу", потому что ему хочется проигнорить вот этот "разрыв" в системе типов, из-за чего, собсно, и подключается рефлексия.
S>Какая рефлексия в List<T>?

Рефлексия идёт везде, где в либах используется Comparer<T>.Default.


S>Тебе принципиально впендюривать IndexOf с генериккомпарером внутрь List<T>?


Не понял?
Это отказ от обсуждения систем типов и возможностей параметрического полиморфизма? ))

Ну вот представь, что рефлексия (т.е. хак системы типов) недоступна.
И сразу станет принципиально.
Отредактировано 14.02.2017 7:51 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.