[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