
#14223: Casts get in the way of join points -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Resolution: | Keywords: JoinPoints 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): Hmm. IF you float the `letrec go` inside the cast you'd get {{{ (letrec go = ... in go xs) |> blah }}} Now `go` is indeed a join point, and will be turned into a join point. And then the `|> blah` continuation will move into its RHS (becuase it's a join point). So really it should work fine right now. I wonder why that does not happen? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14223#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler