The Haskell wiki shows that you need to both set a compilation flag and a run-time flag to get multi-core support. Why isn't using the library enough to get the correct behavior at compile time? Why can't the run-time executable detect it was compiled with -threaded and use all cores on the system unless otherwise specified? I think turning these on by default would be better. Then there could be flags to turn off or modify these features.
http://www.haskell.org/haskellwiki/GHC/Concurrency#Multicore_GHC says:
Кажется несколько обременительным иметь флаги, которые нужно устанавливать как во время компиляции, так и снова во время выполнения. Являются ли эти флаги рудиментом усилий по добавлению параллелизма в GHC?