{-# LANGUAGE BangPatterns #-} {-# LANGUAGE MagicHash #-} module Main where import GHC.Debug.Stub import Control.Concurrent import System.Mem.StableName import Foreign.StablePtr import System.Mem import qualified Data.Sequence import qualified Data.HashMap.Strict import qualified Data.Map as M --import qualified Data.Map.Strict as M loop :: IO () loop = go 0 where go 5 = pause >> go 11 go x = print x >> threadDelay 1000000 >> go (x + 1) go 100 = return () data A = A Int deriving Show v :: Int v = 5 {-# NOINLINE v #-} type TestMap = M.Map String Int main :: IO () main = withGhcDebug $ do -- print "Enter Name" -- name <- getLine -- print "Enter Name" -- name2 <- getLine -- let !m = M.insert name (length name) (M.insert name2 (length name2) M.empty) --let !y = Data.Sequence.fromList [1..5] let !y = [1..1000000] print (length y) performGC -- saveClosures [Box y] saveClosures [Box y] print "start" loop print y