Re[31]: «Собаку съел»
От: samius Япония http://sams-tricks.blogspot.com
Дата: 15.02.17 17:22
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>На сегодня существует несколько конкурирующих м/у собой классификаций параметрического полиморфизма, где каждый автор гнёт что-то своё, и?

S>>Так, может быть, приведешь? Желательно классификации вместе с источниками.

V>Ммм... Поработать гуглом, провести систематизацию имеющихся систематизаций?


V>Это ты мне не поверил, что ле, или всего лишь просишь меня сделать за тебя часть работы?

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

V>(Но, вообще, конкретно я себе подобных замашек не позволяю... хотя позволяю много других, угу... )) )


Вот внизу этого же сообщения, на которое я отвечаю, ты как раз пишешь, что

Давай будем объективными — не всегда сразу может быть понятна система представлений оппонента. Иногда требуется несколько итераций. В процессе этих итераций я умудрялся давать тебе то, что тебе НЕ НАДО было и не давал того, что НАДО.

Вот тут как раз тот случай, когда мне не понятна система представлений оппонента. Мне кажется что я не могу за тебя подобрать определение, которым ты пользуешься, из источника, которому ты доверяешь. Ты мне пишешь про несколько конкурирующих, но я вообще не нашел чего-либо, что прямо или косвенно бы не ссылалось на [Strachey 67]. Может, плохо искал. С другой стороны, я не ковырял по узкоспециализированнымм инженерным источникам. Я смотрел википедию, хаскельвики, ТАПЛ, работы Wadler-а и кучу всякого шлака. Как мне понять твою систему представлений? Укажи, хотя бы направление! Систематизацию систематизаций я не прошу.

S>>Но тут, насколько я понимаю английский — необязательность касается способа определения.


V>Краткость — не всегда сестра таланта. Любые хоть сколько-нибудь полезные статьи о разновидностях полиморфизма — они довольно объемны по объективным причинам. Поэтому, зачастую авторы "кратких обзоров" дают минимум, считая, что любопытный, возникни у него желание, копнёт глубже самостоятельно.

Вот я копнул, ты копнул — у нас разногласия. Покажи мне любую хоть сколько-нибудь полезную статью о разновидности полиморфизма, исключая те, что я перечислял (в том числе [Strachey 67]).

V>Конкретно в Хаскеле и С++ можно задать ф-ии как без ограничений-концептов, так и с ограничениями. Последнее имеет преимущество перед первыми для системы вывода типов (конкретно в Хаскеле — система Хиндли—Милнера, в С++ — правила поиска перегрузок ф-ий, описанные в Стандарте) и является тем самым ad hoc поверх техники параметрического полиморфизма.

В хаскеле задать без ограничения можно, но ограничение от этого не пропадет. И указанный в хаскельвики способ все равно его обнаружит. Вот, правда, может быть наоборот, что ограничение было указано избыточно. Тогда способ соврет.
Prelude> { id1 :: Eq a => a -> a; id1 = id }
Prelude> :t id1
id1 :: Eq a => a -> a



S>>Но в независимости от этого способа (можешь в хрустальный шар глядеть), классификация должна быть однозначной.


V>Увы. ))

V>Пока что все авторы соглашаются лишь о ранге полиморфизма, тут наблюдается однозначность.
V>Но внутри 1-го ранга многие авторы "резвятся" по самое небалуй.
Хрен с ним с рангом. Давай сначала с ad-hoc-ом разберемся.

S>>Так вот, ты согласен что функции elem и lookup ad-hoc полиморфны по типу a? [Да]/[нет]/[согласен, но они параметрические]


V>А точно ли тебе требуется повторять мою аргументацию? ))

V>В общем, спасибо за именно этот ответ в такой форме — вот за что я люблю с некоторыми общаться и не люблю с некоторыми остальными!

V>Отвечу: ad hoc — это наличие конкурирующих специализаций. Это ВЕСЬ мой ответ.


V>Далее можно сколь угодно тщательно спекулировать насчет необходимости vs достаточности, но, если честно, очень лень.

V>Всё ж на поверхности...
Поверхности у всех разные. На моей поверхности elem и lookup ad-hoc полиморфны. На твоей — я так и не понял из ВСЕГО твоего ответа.


S>>Давай сначала с этими двумя позициям разберемся, потом по остальному отвечу.


V>Да там нечего "по остальному" отвечать.

V>Я просто не сразу понял, в чём разногласия и написал местами лишнего раньше...
Я тут копчу лишь за то, что компараторы, использующие "натуральные" сравнения ad-hoc полиморфны, как и все, что их прямо или косвенно использует. Исключая ФВП, которые используют ad-hoc постольку-поскольку им их явно передали.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.