Я ищу компилятор Haskell, который использует строгую оценку по умолчанию вместо ленивой оценки. Я бы просто использовал OCaml, но синтаксис Haskell намного лучше , чем синтаксис OCaml (а Haskell чист и имеет классные функции, такие как классы типов).
Я бы предпочел не постоянно ставить !
с и $!
с по всей моей программе. Компилятор с переключателем или препроцессором для добавления аннотаций строгости был бы действительно хорош. Было бы также полезно, если бы в некоторых местах был способ использовать ленивое вычисление, на всякий случай, если бы я хотел что-то вроде бесконечного списка (я, вероятно, никогда не буду).
Пожалуйста, не пытайтесь убедить меня, что ленивая оценка лучше, мне действительно нужна производительность. IIRC, Саймон Пейтон Джонс даже сказал, что ленивая оценка на самом деле не нужна, она была в основном для того, чтобы помешать им сделать язык нечистым.