Я узнал немного Haskell в университете еще в конце 90-х. В то время, хотя производительность была адекватной и намного лучшей, чем можно было бы ожидать для такого языка высокого уровня, о нем все еще нечего писать.
Все изменилось. Сегодня Haskell (GHC) имеет отличную производительность, часто недалеко от C/С++. Итак, что именно было изменено в компиляторе, который внес наибольший вклад в это улучшение? Я знаю несколько методов, которые часто используются, например, лучший анализ распаковки и строгости. Я хотел бы иметь некоторое приблизительное представление о количественном вкладе, который каждый из этих методов привел к общему улучшению производительности.
Если вы предпочитаете, вопрос также может быть сформулирован в следующих терминах: рассмотрите не очень высокую производительность GHC Haskell в середине 90-х. Каковы были бы лучшие 5 областей, чтобы улучшить, чтобы приблизить производительность к 2013 году GHC Haskell?