
#8654: Exponential-long compilation of code with Implicit params -------------------------------------+------------------------------------- Reporter: akamaus | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.2 Keywords: ImplicitParams | Operating System: Unknown/Multiple slowness | Type of failure: Compile-time Architecture: Unknown/Multiple | performance bug Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | -------------------------------------+------------------------------------- Some time ago I stumbled upon GHC hanging on my code. After some experiments I managed to minify it to: {-# 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 It compiles, but takes a while. Every additional binding doubles compilation time. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8654 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler