
#14844: SpecConstr also non-recursive function -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.5 Resolution: | Keywords: SpecConstr 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 nomeata): I have been staring at the !SpecConstr code quite a bit now (which is pretty dense, I must say), and am no longer able to say with certainty that !SpecConstr only works on recursive functions. In fact, it seems that `Note [Local let bindings]` implies local non-recursive lets are being specialized! (despite `Note [Good arguments]` claiming it only works for self-recursive functions… It seems that specialization for non-recursive functions was added in changeset:99f41975ae61fc919638aa389199b32742332eff by Simon PJ (maybe not all notes were updated to reflect this change)? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14844#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler