Exponential compilation slowdown with ImplicitParams extension.

18 Oct
2013
18 Oct
'13
5:52 p.m.
Greetings, recently GHC-7.6.2 hung while compiling my program. I was able to minify it to this: {-# 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 The compilation finishes actually. But it's very slow. The time depends on number of implicit parameter bindings. Looks like it grows as exponential function of it. As a workaround you can explicitly specify type for tst1. Is it a known issue? Best regards, Dmitry
4232
Age (days ago)
4232
Last active (days ago)
0 comments
1 participants
participants (1)
-
Dmitry Vyal