GHC - безусловно, наиболее широко используемый компилятор Haskell, и он предлагает большинство функций.Однако есть и другие варианты, которые иногда имеют некоторые преимущества по сравнению с GHC.Вот некоторые из наиболее популярных альтернатив:
Hugs - Hugs - интерпретатор (я не думаю, что он включает в себя компилятор), который быстр и эффективен.Он также известен тем, что выдает более понятные сообщения об ошибках, чем GHC.
JHC - Компилятор всей программы.JHC может создавать очень эффективный код, но он еще не полон (возможно, это то, о чем вы думаете).Обратите внимание, что это не всегда быстрее, чем GHC, только иногда.Я не использовал JHC много, потому что он не реализует классы многопараметрических типов, которые я интенсивно использую.Я слышал, что исходный код чрезвычайно понятен и читабелен, что делает его хорошим компилятором.JHC также более удобен для кросс-компиляции и обычно создает меньшие двоичные файлы.
UHC - Компилятор Утрехта Хаскелла почти полон функций (я думаю, что единственное, чего не хватает - это n + k шаблонов) для Haskell98.Он реализует многие из самых популярных расширений GHC, а также некоторые оригинальные расширения.В соответствии с документацией, код не обязательно хорошо оптимизирован.Это также хороший компилятор для взлома.
Короче говоря, если вам нужен эффективный код и передовые функции, GHC - ваш лучший выбор.JHC стоит попробовать, если вам не нужны MPTC или другие функции.В некоторых случаях расширения UHC могут быть привлекательными, но я бы не рассчитывал на быстрый код.