#13155: exprIsExpandable bug -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | 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 Simon Peyton Jones <simonpj@…>): In [changeset:"9be18ea4e5cbc53ce7769a30275332d68a4ab6b9/ghc" 9be18ea/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="9be18ea4e5cbc53ce7769a30275332d68a4ab6b9" Fix a nasty bug in exprIsExpandable This bug has been lurking for ages: Trac #13155 The important semantic change is to ensure that exprIsExpandable returns False for primop calls. Previously exprIsExpandable used exprIsCheap' which always used primOpIsCheap. I took the opportunity to combine the code for exprIsCheap' (two variants: exprIsCheap and exprIsExpandable) with that for exprIsWorkFree. Result is simpler, tighter, easier to understand. And correct (at least wrt this bug)! }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13155#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler