
#14637: Simplifier Ticks Exhausted when compiling with profiling -------------------------------------+------------------------------------- Reporter: cfhammill | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Thanks. I can repro this. For the record, changing `bug2.hs` to define just {{{ foo :: Rec Identity '["policyID" :-> Int, "statecode" :-> String, "county" :-> String, "eq_site_limit" :-> Double, "hu_site_limit" :-> Double, "fl_site_limit" :-> Double, "fr_site_limit" :-> Double, "tiv_2011" :-> Double, "tiv_2012" :-> Double, "eq_site_deductible" :-> Bool, "hu_site_deductible" :-> Double, "fl_site_deductible" :-> Bool, "fr_site_deductible" :-> Bool, "point_latitude" :-> Double, "point_longitude" :-> Double, "line" :-> String, "construction" :-> String, "point_granularity" :-> Int, "statecode" :-> String, "county" :-> String, "eq_site_limit" :-> Double, "hu_site_limit" :-> Double, "fl_site_limit" :-> Double, "fr_site_limit" :-> Double, "tiv_2011" :-> Double, "tiv_2012" :-> Double, "eq_site_deductible" :-> Bool, "hu_site_deductible" :-> Double, "fl_site_deductible" :-> Bool, "fr_site_deductible" :-> Bool, "point_latitude" :-> Double, "point_longitude" :-> Double, "line" :-> String, "construction" :-> String, "point_granularity" :-> Int] foo = mergeRows (undefined :: FL2) (undefined :: FL2) }}} without main or the (overloaded) `print`, is enough to make it go out to lunch. Moreover, this happens in the very first iteration of the simplifier. I have not got further yet. Next steps: try with a smaller `FL2` and see how the compile time (or, more precisely, simplifier ticks) goes non- linear. I say "simplifier tickes" because I would not have been suprised at non- linearity in the type checker... we are manipulating sets as lists in the type system. But I'm more surprised at non-linearity in the simplifier. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14637#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler