import Data.List
a = foldl' (+) 0 [1..99999999]
main = putStrLn $ show $ a
Для выполнения этой программы требуется некоторое время. Но a
не зависит от чего-либо и, следовательно, является постоянным. Он может быть отлично рассчитан во время компиляции. Почему GHC не оптимизирует для этого? Есть ли флаг для этого, или я должен просто заменить такой постоянный расчет самими значениями?