Martijn van Steenbergen wrote:
David Virebayre wrote:
Taking the opportunity to thank very much both Simons and Ian for the
work they do and the enthusiasm they show. You guys rock.
I heartily second that!
I won't disagree with that sentiment. ;-)
According to a paper I just read, GHC is "about 150,000 lines of code".
It's pretty impressive that such a small team could write and actually
maintain such a big thing. (At least, it impresses me.)
Speaking of which... One of the things I like about the GHC team is that
they keep putting out really interesting papers. Most of them are pretty
easy reading, even for somebody as stupid as me. Things like the papers
on STM, parallel GC, stream fusion, DPH, and low-level performance
tuning of the GHC RTS and STG implementation. For example, I've just
been reading a paper which suggests that turning off vectored returns
yields a net performance win.
One slightly frustrating aspect of all this is that these papers
describe interesting techniques or new optimisations, but it's usually
quite hard to track down when/if these things made it into the
production GHC releases... Sometimes you can tell from the paper (e.g.,
there was recently a paper about a bunch of things being done to the
parallel RTS to remove bottlenecks from it, and IIRC it stated that this
work will be released in GHC 6.12.x) Sometimes the GHC release notes
will tell you (e.g., GHC 6.10.1 says "there's a new flag to turn on
parallel GC", which pretty much means that this is the first version to
support this feature). But sometimes it's really hard to cross-reference
this stuff.
It would be nice if somebody could collect together all the papers about
GHC, and which (if any) GHC release versions implement this stuff...
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe