DEV Community

German Robayo
German Robayo

Posted on • Edited on

3 1

Prelude

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!

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Best practices for optimal infrastructure performance with Magento

Running a Magento store? Struggling with performance bottlenecks? Join us and get actionable insights and real-world strategies to keep your store fast and reliable.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️