
#13233: typePrimRep panic while compiling GHC with profiling -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonmar): Replying to [comment:21 simonpj]:
I strongly agree that we should write down the invariants for ticks
So just to write down what we discussed the other day: * I believe there are (or were) no invariants on where ticks can appear in Core. However, there's an invariant that `(#,#)` must be directly applied to its type arguments, with no intervening ticks. (maybe it's more general than this?). Core Lint should really check this invariant. * We think that this invariant is satisfied by the desugarer but gets violated when the simplifier moves ticks inside type applications (https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/coreSyn...). We don't know if there are other places that might violate the invariant. * I (@simonmar) was worried that if we just stop doing this we might lose other beneficial transformations. @bgamari is going to try it and check. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13233#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler