Recommendations for a first GHC API project

I did this work as part of an internship, so I was fortunate enough to have a supervisor that guided me through the process. Even if you go into this on your own, being able to ask your questions when you have them is very helpful. Therefore, I would highly advise you to join the GHC chatroom.

Regarding the learning materials, you more or less have to dive into the GHC source code. The surface exposed by the GHC API is mostly incidental (though there is a recent initiative to improve the situation), so reading the Haddock documentation is usually not enough. However, the source-level documentation is fantastic: the code is documented extensively and the “notes” convention allows you to find related pieces of documentation as well. For higher-level overviews of the various parts of GHC, the GHC wiki/commentary is also quite helpful.

I don’t know if the situation has improved since then, but at the time the HLS plugin tutorial was vastly outdated, and it was partly the motivation for my blog post. However, as with my suggestion above, the HLS chatroom is quite active and therefore is a good place to ask any questions you might have.

2 Likes