своего случая как можно оптимальней. например поэтому нет неявной конверсии типов, а есть явная и есть перегрузки под различные комбинации типов аргументов.
2. например одна из сигнатур arrayMap :: (a->b) -> [a] -> [b], это достаточно полиморфно?
да, вполне логично. Достаточно или нет - это тяжело оценить. В кдб с другой стороны обратная ситуация - всё очень полиморфно, но кажется что не хватает оптимизации как раз для простых типов/вариантов использования.
Сейчас посмотрел, и подумал, что не достаточно, но конечно от случая зависит, так как векторизированный 1+[1,2,3] в sse может мало того что быть быстрее, чем +1 через map. Но и с виду проще :). Т.е. map сама по себе плохая операция, но тут бы как раз помог бы полиморфизм +
Обсуждают сегодня