import Control.Concurrent ( forkIO )
import Control.Monad ( forM_ )
main = do
forkIO $ forM_ [ 1, 3 .. 100 ] print
forM_ [ 0, 2 .. 100 ] print
ghc --make Foo -threaded -O2
./Foo +RTS -N2 (benutzt 2 Cores)
forkIO erzeugt Haskell-Thread,
das RTS verteilt diese
auf Ausführungskontexte (OS/Cores)
main thread fertig
⇒ Programm fertig
(geforkte Threads werden abgebrochen)