[GHC] #8474: Extremely slow compilation of a program with multiply implicit parameters

GHC ghc-devs at haskell.org
Thu Oct 24 08:13:31 UTC 2013


#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


More information about the ghc-tickets mailing list