
Hello Tim, Saturday, December 15, 2007, 5:35:03 PM, you wrote:
the inliner can do the job of inlining (a fixed number of) iterations of a recursive function -- I don't know if it does this now, but it would be easy to implement.
It may be that GHC *doesn't* inline tail-recursive functions, but as I pointed out above (which I'm just getting directly from the paper), it would be easy
i see your point - it's easy to implement everything in GHC. probably its authors was sleeping last 15 years :)
as above, loop unrolling turns out to be just a special case of inlining.
and ghc was so genuine that it was implemented general case without implementing special one :)
That's not true in C. The simplicity of Haskell (or rather, Core) means it's easy to implement a lot of things with a great deal of generality, an advantage that gcc doesn't have.
Core language has the same complexity for generating good code as C, C-- or LLVM
Or, I mean, feel free to insist things are impossible, but try not to stand in the way of the people who are doing them while you say so. :-)
you may believe in what you want. i prefer to say about real situation. if it will be possible to quickly write good Haskell compiler, it was be written many years ago -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com