On 12/12/12 3:07 AM, Janek S. wrote:
Dnia środa, 12 grudnia 2012, wren ng thornton napisał:
Other than that, it's hard to say. What part of the compiler are you
(most) interested in hacking on? The type system? The compilation down
to C-- and LLVM? The concurrency and parallelism? Debugging, testing,
and fuzzing? ...

At the moment it's concurrency and parallelism, but I guess that at some point 
I might like to
play with the type system.

In that case I'd suggest reading some of the papers on STM, DPH, REPA, and Cloud Haskell, and then just diving into the GHC code. It's been a while since I've read them, but SPJ's classic books don't have a whole lot about concurrency/parallelism IIRC.

For the type system, I highly recommend reading [1]. It's long but it's more of an introductory/tutorial sort of paper, so it's easy reading. Also, unlike most intro/tutorial papers, it goes all the way through System F (H98 minus type classes, plus RankNTypes), whereas most intros only show Hindley--Damas--Milner (SML). On the one hand, HDM is a good starting place because it's such an easy type system with a very nice power/weight ratio, but if you're interested in hacking on modern Haskell we're so far beyond HDM that starting there would only slow you down, since we can no longer take advantage of a number of simplifying assumptions that HDM makes. ... After you've read that paper, you'll probably want to take a look at one of the newer Fc papers, which adds in GADTs, type families, and other GHC Haskellisms. After that you should be ready to start hacking, though you'll need to backfill some of the theory from time to time.


[1] http://research.microsoft.com/en-us/um/people/simonpj/papers/higher-rank/

--
Live well,
~wren

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to