Hello Duncan, Friday, May 23, 2008, 11:55:57 PM, you wrote:
me too. btw, this already present in jhc. inlining doesn't work in any complex case since recursive functions can't be inlined
GHC inlines recursive functions, too, otherwise it could not turn 'foldl' and friends into plain machine loops.
As I understand it, if foldl was written in the standard directly way then ghc would not inline it
well, i'm not a True GHC Hacker ;) but i was bitten by this problem in 6.4. i had a lot of SPECIALIZE pragmas in Streams library exactly because INLINE doesn't help. actually, it even does things worser by disabling some other form of optimization, i don't remember which one i have proposal of inlining even recursive functions just for one level of recursion in order to allow to call here specialized version of function. what GHC HQ will say? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com