
#14610: newtype wrapping of a monadic stack kills performance -------------------------------------+------------------------------------- Reporter: mrkkrp | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: JoinPoints Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #14620 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): Ah, of course you are right: If we drop `isValidJoinPointType` then we get more join points, and still no crashes. But it would indeed prevent the transformation in comment:14. That leaves two options: * Un-join-point `go` if we want to do this transformation (no regression about now) * Actually do this transformation I propose in comment:18 in GHC, which means we get a join point as before and can do that transformation. All not carefully thought out, of course, and too much distraction here right now, so I am mostly conveying my gut feeling, hoping to not make a fool out of myself here. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14610#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler