
bulat.ziganshin:
Hello Donnie,
Tuesday, September 23, 2008, 2:53:17 AM, you wrote:
i mean that naive haskell code is very slow and 3 or 5 or twelve libs can't solve the problem of ghc generating slow code
I'm fairly new to Haskell and the Haskell community, but I can say from my experience of hacking on GHC, the GHC team of developers are very interested in performance improvements, e.g. this thread is about performance! So Bulat, why don't you hack on GHC yourself and help improve the compiler? Or suggest detailed improvements since you seem capable of citing specific examples?
for the same reason i don't feed 5000 men with 7 breads - it's not my business ;)
Ok. So I'll just say: high level, efficient code is an overriding theme of many individuals working on Haskell. Things are better and better each year. We do not stand still. For example, Bulat cites a paper talking about naive list code from 2002, however, by 2008 we know how to do fusion on lists, so it runs in the same time as low level loops, the technique is implemented and you can download it from hackage, http://hackage.haskell.org/cgi-bin/hackage-scripts/package/stream-fusion Simon Marlow is busy adding more efficient GC and parallelism to GHC, and there's a summer project to rewrite the native code generator. GHC gained pointer tagging in the last release cycle, dramatically reducing the cost of algebraic data types. At the same time, we're writing books about how to program "naively" in Haskell, such that your code doesn't suck. That is: training. Teaching people how to write Haskell. We can see it paying off, where naive code performs very very well, http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=all And lots and lots more people able to write good code for Hackage. I find Bulat's outlook rather bleak, and I think it is time to update expectations. Progress is beautiful. -- Don