Open cronburg opened 7 years ago
Minimal PADS example:
[pads| data Entry = Entry { host :: (Int, '.', Int, '.', Int, '.', Int) } |]
which triggers the following GHC hang / panic:
[27 of 28] Compiling Examples.AI ( Examples/AI.hs, .stack-work/dist
xamples-tmp/Examples/AI.o )
ghc: panic! (the 'impossible' happened)
(GHC version 8.0.2 for x86_64-unknown-linux):
Simplifier ticks exhausted
When trying UnfoldingDone $wlvl_sg2Ag
To increase the limit, use -fsimpl-tick-factor=N (default 100)
If you need to do this, let GHC HQ know, and what factor you needed
To see detailed counts use -ddump-simpl-stats
Total ticks: 6861563
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
It appears to have something to do with nesting a tuple type inside of a record making it difficult for GHC to deduce the type of the entry_parseM
function.
Since adding generation of the internal AST representation of a pads description to the output of the quasiquoter, the AI example takes significantly longer to build (minutes). Offending commit: c535c1885d09f19049deca5b12315856196ade3b
But when I try building with profiling information enabled, the build takes on the order of seconds...