Re[4]: [Haskell-cafe] Announce: ghc-core, command line pager for reading GHC Core
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
bulat.ziganshin:
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
It would be good to try this with 6.8 -- there have been some huge improvements to the strictness analyser and inliner in the last 2 years. Could you dig up some examples? -- Don
participants (2)
-
Bulat Ziganshin -
Don Stewart