
#8095: TypeFamilies painfully slow -------------------------------------+------------------------------------- Reporter: MikeIzbicki | Owner: goldfire Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler (Type | Version: 7.6.3 checker) | Resolution: | Keywords: TypeFamilies Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #5321, #11598, | Differential Rev(s): Phab:D3752 #12506 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I'd be very reluctant to have a complicated solution that was hard to be sure was correct here. (e.g. tracking covasrs in `FlattenEnv`.) I'm surprised that finding the free variables of a coercion is so expensive. Zonking traerses coercions anyway. Suppose the result of zonking a coercion was always `UnivCo t1 t2 free-vars`. Then to zonk `Trans c1 c2` you can zonk `c1` and `c2`, and unition their free vars. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8095#comment:43 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler