RFC: GSoC project to build a "Hackage for Dhall"


Right now I’m brainstorming for project ideas to submit for Google Summer of Code, specifically as part of the Haskell Summer of Code organization.

A project I would like to mentor is a “Hackage for Dhall”. In other words, a way to easily browse packages and host rendered documentation. The actual code would still ultimately be hosted elsewhere (e.g. GitHub).

The reason I’m suggesting this is because I’ve seen several nascent efforts along these lines this year and some people (including survey respondents) have expressed a desire to more easily discover available Dhall packages.

I haven’t yet fleshed out the idea, so if you have strong opinions about how this should be done then please share them!

Also, if you are an eligible student interested in working on this then let me know! Similarly, if you are interested in co-mentoring this project then also let me know.


For my own enlightenment, are there any tools for dhall documentation currently?

Something like hackage would be wonderful, I would use it.


@Profpatsch made a script that can produce basic HTML docs for the prelude: https://github.com/dhall-lang/dhall-lang/issues/760


Should there not be a “Haddock for Dhall” as a precondition for “Hackage for Dhall”? The former would also have a much easier defined scope.


@blamario: Yeah, that makes sense to me


Makes good sense to me, but #145 is probably going to have to get changed first, unless the documentation format is gonna be a PITA and crammed all at the top of the file.


#145 is not hard to change. It’s just a bit of work.

It would be good if we could find some spots in the AST where comment preservation should be prioritised. I suspect that record literals would be a good area:

{ {- 1 -} x {- 2 -} = {- 3 -} y {- 4 -}, ... }


Alright, I submitted an idea to the Haskell Summer of Code project:

If anybody is interested in co-mentoring this project, just let me know and I can add you to the list of mentors. The reason I mention this is that they suggest at least two mentors if possible and projects are more likely to be accepted if they have a co-mentor.


If anybody is interested in co-mentoring this project, just let me know and I can add you to the list of mentors.

I’d volunteer, except I expect to be offline for most of July and August this year. I assume that would defeat the purpose of mentoring?


@blamario: Yes, you would need to be able available to mentor the student


I’ll at least be able to help with questions around dhall-haskell and possibly with design issues – my experience with Haddock from my own “Hi Haddock” GSoC project might be relevant.

I might be rather busy during the GSoC time though so I might not always be available for video chats or similar.


@sjakobi: That’s fine. The most important thing is being available for pull request reviews. I typically do one hour-long video chat per week with the student, but I can handle that myself whenever you’re not available.


Well that’s my favorite thing to do anyway! :wink:

Count me in then! :slight_smile:

(Also please do reign me in if my reviews are too nitpicky or non-constructive. Although I feel like I’ve learned something about good reviews from you already @Gabriel439!)


I would also be interested in co-mentoring this project.


@Profpatsch: Could you create a pull request to add yourself here: https://github.com/haskell-org/summer-of-haskell/blob/master/content/ideas/dhall-documentation-generator.md


I just received a mail, filled out the form and am now registered as a mentor on the Haskell GSoC organization.


Any news about that idea? As I’m building more and more packages, I am quite interested into being able to publish and render documentation.


@tristanC: We’re in the process of reviewing student proposals to work on this for Google Summer of Code. The project doesn’t begin until June 1. See:



Introduction in Dhall-docs cli utility