While the Google Summer of Code ends today, my work on Hi Haddock hasn’t finished yet.
Initially I had some pretty good progress:
A preview version of the
:doc command made it into GHC-8.6.
Closing this 10 years old GHC ticket felt great!
Matthías Páll Gissurarson even made use of the serialized docstrings in a nice feature for working with typed holes!
Emboldened by this progress, my mentors Alex and Herbert and I decided to abandon the original plan and instead start work on Haddock proper. This turned out to be a good decision: we discovered that in addition to the doc-map and arg-map fields that we originally expected to serialize, Haddock requires quite a bunch of further data.
Not unexpectedly, changing haddock’s internals turned out to be rather tricky.
While my fork of haddock can already generate reasonably-looking docs for
fancy GHC features like associated data families currently make it panic.
I’m very thankful to my mentors Alex and Herbert for their guidance and patience!
Also many thanks to great folks on the
#ghc IRC channel who always responded to my questions even when I wasn’t quite sure what I was asking myself!