Hi everyone!
For some reason, this leaks thunks:
module Main where
import Control.Monad
import Control.Monad.ST.Strict
go :: Int -> MCT (ST s) ()
go k = replicateM_ k (return ())
main = print $ runST $ evalMCT (go 100000000) rng
where
rng = mt19937 0
while this does not:
module Main where
import Control.Monad
go :: Int -> MC ()
go k = replicateM_ k (return ())
main = print $ evalMC (go 100000000) rng
where
rng = mt19937 0
Can anyone help me figure out what's going on here?
Thanks,
- Clark