
#13261: Consider moving Typeable evidence generation wholly back to solver -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): All we are doing is generating a bunch of records with strings in them. I wonder why that is so expensive? One possibility is that we could inject them into Core right at the end, perhaps even after `CoreTidy`. Then they would get code generated but not be put in interface files etc. Runtime perf of typeable code would be a little less (no cross module inlining), but hey we are doing dynamic type tests. Instead, we'd need distinctive names so that we knew that if we see `Data.List.Maybe:tyconName` in an interface file unfolding we aren't going to see it in the `Data/List/Maybe.hi`. This is a bit like data constructor workers, I think. Or we could inject them just before `CoreTidy` so they did appear in `.hi` files but didn't clog the optimisation pipeline. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13261#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler