
#9198: large performance regression in type checker speed in 7.8 -------------------------------------------------+------------------------- Reporter: carter | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Compiler (Type checker) | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time performance bug | Unknown/Multiple Test Case: | Difficulty: Blocking: | Unknown | Blocked By: | Related Tickets: -------------------------------------------------+------------------------- Comment (by goldfire): With typos removed and types added, this looks like {{{ begin :: Monad m => (m () -> t) -> t begin cont = cont (return ()) a :: IO a -> (IO () -> t) -> t a m cont = cont (m >> putStrLn "a") end :: t -> t end m = m main = begin a a a a a a a a a a a a a a a a a a a a end }}} Including the type signatures does not improve performance. Great example case -- this does indeed need to be fixed. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9198#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler