
#8474: Extremely slow compilation of a program with multiply implicit parameters -------------------------------------------+------------------------------- Reporter: akamaus | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.6.3 Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Unknown | Type of failure: Blocked By: | None/Unknown Related Tickets: | Test Case: | Blocking: -------------------------------------------+------------------------------- Adding yet another ?tstX variable in this snippet slows down compilation by a factor of ten or so. Giving an explicit type annotation to tst1 makes compilation instant. {-# LANGUAGE ImplicitParams #-} data D = D Int deriving Show slow_to_compile :: IO () slow_to_compile = do tst1 <- return 1 let ?tst1 = tst1 let ?tst2 = tst1 let ?tst3 = tst1 let ?tst4 = tst1 let ?tst5 = tst1 let ?tst6 = tst1 let ?tst7 = tst1 print $ D ?tst1 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8474 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler