Я задаю этот вопрос со ссылкой на этот вопрос SO. Принятый ответ Don stewart: Первая строка говорит: "Ваш код сильно полиморфно меняет все всплывающие вары на Double..", и это дает 4X улучшение производительности.
Мне интересно делать вычисления в матрице в Haskell, следует ли мне привыкнуть писать мономорфный код?
Но некоторые языки хорошо используют ad-hoc-полиморфизм для генерации быстрого кода, почему GHC не будет или не может? (читайте С++ или D)
почему мы не можем иметь что-то вроде blitz ++ или eigen для Haskell? Я не понимаю, как работают рабочие классы и (ad-hoc) полиморфизм в GHC.