[Haskell-cafe] How to start with GHC development?

wren ng thornton wren at freegeek.org
Fri Dec 14 06:21:22 CET 2012


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



More information about the Haskell-Cafe mailing list