
#13873: Adding a SPECIALIZE at a callsite in Main.hs is causing a regression -------------------------------------+------------------------------------- Reporter: jberryman | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.2.2 Component: Compiler | Version: 8.2.1-rc2 Resolution: | Keywords: Specialise Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I don't have bandwidth to reproduce right now, but I think Matthew is saying we have {{{ f :: forall s. State# s -> blah f = /\s. \(x::State# s). ....(g @s d1 d2 d3).... }}} where `g` is an overloaded function, called three dictionary arguments. But note that `f` is not overloaded, and so will not be auto-specialised. Somehow, if we specialised `f`, we could specialise `g`. I don't quite see how this happens. Can you fill in a bit more detail about what `g` is, and what dictionaries `d1`-`d3` are? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13873#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler