#3738: Typechecker floats stuff out of INLINE right hand sides
---------------------------------+------------------------------------------
Reporter: rl | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 6.14.1
Component: Compiler | Version: 6.13
Keywords: | Difficulty:
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: Runtime performance bug
---------------------------------+------------------------------------------
Comment(by rl):
This seems to be fixed in the current HEAD. However, the problem affects
vector quite a bit in 6.12. Would it be easy to fix? FWIW, here is a small
example which demonstrates how this breaks list fusion. The two functions
must be in different modules.
{{{
foo :: Num a => a -> [a]
{-# INLINE foo #-}
foo x = map (+1) (repeat x)
bar :: Int -> [Int]
{-# INLINE bar #-}
bar x = map (+2) (foo x)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3738#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs