Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, samius, Вы писали:
V>>>Хороший теоретик не обязан быть хорошим инженером, и обратное тоже верно.
S>>Т.е у хороших инженеров свой полиморфизм и определения?
V>Почему бы и нет?
V>На сегодня существует несколько конкурирующих м/у собой классификаций параметрического полиморфизма, где каждый автор гнёт что-то своё, и?
Так, может быть, приведешь? Желательно классификации вместе с источниками.
S>>S>>You can recognise the presence of ad-hoc polymorphism by looking for constrained type variables: that is, variables that appear to the left of =>, like in elem :: (Eq a) => a -> [a] -> Bool. Note that lookup :: (Eq a) => a -> [(a,b)] -> Maybe b exhibits both parametric (in b) and ad-hoc (in a) polymorphism.
S>>Это по ссылке выше, если что.
V>ЧТД, недопонимание.
V>"you can" говорит о возможности, но не обязательности.
Конечно о необязательности. Но тут, насколько я понимаю английский — необязательность касается способа определения. Но в независимости от этого способа (можешь в хрустальный шар глядеть), классификация должна быть однозначной.
Так вот, ты согласен что функции elem и lookup ad-hoc полиморфны по типу a? [Да]/[нет]/[согласен, но они параметрические]
Давай сначала с этими двумя позициям разберемся, потом по остальному отвечу.