
#7206: Implement cheap build -------------------------------------+------------------------------------- Reporter: simonpj | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: ⊥ Component: Compiler | Version: 7.4.2 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by snoyberg): * cc: snoyberg (added) Comment: Following up on a separate discussion on the haskell-cafe, I have a possibly related case: {{{#!hs main :: IO () main = printLen >> printLen printLen :: IO () printLen = lengthM 0 [1..40000000 :: Int] >>= print lengthM :: Monad m => Int -> [a] -> m Int lengthM cnt [] = return cnt lengthM cnt (_:xs) = cnt' `seq` lengthM cnt' xs where cnt' = cnt + 1 }}} On my system, this takes almost 1.2GB of memory. If I comment out the second call to `printLen`, it takes 44KB. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7206#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler