Здравствуйте, samius, Вы писали:
V>>>>Хороший теоретик не обязан быть хорошим инженером, и обратное тоже верно.
S>>>Т.е у хороших инженеров свой полиморфизм и определения?
V>>Почему бы и нет?
V>>На сегодня существует несколько конкурирующих м/у собой классификаций параметрического полиморфизма, где каждый автор гнёт что-то своё, и?
S>Так, может быть, приведешь? Желательно классификации вместе с источниками.
Ммм... Поработать гуглом, провести систематизацию имеющихся систематизаций?
Это ты мне не поверил, что ле, или всего лишь просишь меня сделать за тебя часть работы?
Ну, если уж совсем возникнут сложности с поиском и ты их признаешь, ОК, на следующей итерации потрачу некоторое время...
(Но, вообще, конкретно я себе подобных замашек не позволяю... хотя позволяю много других, угу... )) )
S>>>Это по ссылке выше, если что.
V>>ЧТД, недопонимание.
V>>"you can" говорит о возможности, но не обязательности.
S>Конечно о необязательности.
Бинго!
S>Но тут, насколько я понимаю английский — необязательность касается способа определения.
Краткость — не всегда сестра таланта. Любые хоть сколько-нибудь полезные статьи о разновидностях полиморфизма — они довольно объемны по объективным причинам. Поэтому, зачастую авторы "кратких обзоров" дают минимум, считая, что любопытный, возникни у него желание, копнёт глубже самостоятельно.
Конкретно в Хаскеле и С++ можно задать ф-ии как без ограничений-концептов, так и с ограничениями. Последнее имеет преимущество перед первыми для системы вывода типов (конкретно в Хаскеле — система Хиндли—Милнера, в С++ — правила поиска перегрузок ф-ий, описанные в Стандарте) и является тем самым ad hoc поверх техники параметрического полиморфизма.
S>Но в независимости от этого способа (можешь в хрустальный шар глядеть), классификация должна быть однозначной.
Увы. ))
Пока что все авторы соглашаются лишь о ранге полиморфизма, тут наблюдается однозначность.
Но внутри 1-го ранга многие авторы "резвятся" по самое небалуй.
S>Так вот, ты согласен что функции elem и lookup ad-hoc полиморфны по типу a? [Да]/[нет]/[согласен, но они параметрические]
А точно ли тебе требуется повторять мою аргументацию? ))
В общем, спасибо за именно этот ответ в такой форме — вот за что я люблю с некоторыми общаться и не люблю с некоторыми остальными!
Отвечу: ad hoc — это наличие конкурирующих специализаций. Это ВЕСЬ мой ответ.
Далее можно сколь угодно тщательно спекулировать насчет необходимости vs достаточности, но, если честно, очень лень.
Всё ж на поверхности...
S>Давай сначала с этими двумя позициям разберемся, потом по остальному отвечу.
Да там нечего "по остальному" отвечать.
Я просто не сразу понял, в чём разногласия и написал местами лишнего раньше...
==========
Давай будем объективными — не всегда сразу может быть понятна система представлений оппонента. Иногда требуется несколько итераций. В процессе этих итераций я умудрялся давать тебе то, что тебе НЕ НАДО было и не давал того, что НАДО. Это нормально... А то некоторые оппоненты доходят до того, что "а вот ты раньше такого не говорил, а теперь даёшь новые вводные, мол, выкручиваешься!".