loading...

Prelude

german1608 profile image German Robayo Updated on ・3 min read

Dhall Document Generator GSoC (8 Part Series)

1) GSoC 2020: Dhall Documentation Generator 2) Prelude 3 ... 6 3) Document generation & Rendered Source Code 4) Type on index & examples from assertions 5) Navigatable breadcrumbs and technical debts 6) Announcing the first experimental release of dhall-docs 🎉 7) Record keys prefix whitespace recovering 8) Comment's format specification

Prelude

GSoC application

First things first: I really like Haskell. I started learning the language a year ago~ on university courses about compiler design and I wanted more real-life experience with the language.

I heard of GSoC from a friend last year and decided to apply. Of course, I wanted to go with a haskell project. The list of project ideas provided by the haskell commitee looked really challenging at the begginning:

  • The hard ideas were really hard not only because it required an advanced understanding on the language but also deeper understanding of hard CS subjects and contributing on some of the biggest projects of the whole haskell ecosystem like QuickCheck, hasktorch and even the compiler itself ghc
  • There were some ideas on project that I didn't knew and didn't understand what its purpose was

After reading digesting the whole list, I decided to look after the Dhall Documentation Generator project. I didn't knew anything about dhall before reading it on that list, but I took a look at the language and decided to give it a try and write my proposal. After contacting the mentors, who were (and are) really friendly and brainstorming a little about the goal of the project, I submited my proposal to GSoC.

I got selected!

On May 4 news arrived to my email: my proposal was selected! Immediately, my mentors contacted me congratulating me and they give me an onboard with the project details.

I cloned the repository where I'm going to be developing my project, and try to read and understand the existing code.

The repository is really huge and well documented, the good thing about haskell is that by reading a function's type definition you get an idea of what the function actually does.

But that wasn't enough to get a deep understanding of the project. The first thing I like to do before starting working on a new project either on an academic or a work context is to take some small existing issues and solve them. I looked at the issue tracker of the repository to see what I was able to do without a deep understangind of the project and submitted (and successfully merged 🎉) the following PRs:

What's next?

After investing enough time in understanding not just the haskell code but also how the project is structured, I decided to start earlier my project. I hope that project goes well in its development.

Thanks for reading!

Dhall Document Generator GSoC (8 Part Series)

1) GSoC 2020: Dhall Documentation Generator 2) Prelude 3 ... 6 3) Document generation & Rendered Source Code 4) Type on index & examples from assertions 5) Navigatable breadcrumbs and technical debts 6) Announcing the first experimental release of dhall-docs 🎉 7) Record keys prefix whitespace recovering 8) Comment's format specification

Posted on by:

german1608 profile

German Robayo

@german1608

Student eager to learn about compiler design and machine learning

Discussion

markdown guide