GSoC 2019: Haskell (Part-I)

GSoC 2019: Haskell (Part-I)

2019, May 27    

How I got selected for GSoC 2019!

$ whoami

I am a sophomore currently pursuing my Bachelor’s degree in Computer Science and Engineering at IIT Hyderabad.

In this blog, I am going to share some of my pre-GSoC experience.

$ git init

My journey for GSoC started as soon as the organizations were announced. From that day onwards, it was definitely one hell of a ride!
Almost every day, I spent hours surfing through the organizations and noting the projects that matched my interests and capabilities.
Like any other day, I was scrolling through the list of organizations, and to my surprise, I found that Haskell.org participates in GSoC. At that time, I was making a compiler for a simple procedural language in Haskell.
So, I instantly knew that Haskell.org was the organization worth giving a shot. But I was not confident in my abilities as I had just started to learn this beautiful language.
For those unfamiliar with Haskell, it is a purely-functional programming language that is quite different from most other programming languages.

$ man Haskell

Haskell is a beautiful language because:

  • It is elegant and concise
    • Shorter programs are easier to maintain than longer ones and have fewer bugs.
  • It is statically typed
    • When you compile your program, the compiler knows which piece of code is a number, a string, and so on. That means that a lot of possible errors are caught at compile time.
    • Fun Fact: There is a saying among the people that if your program passes the Haskell’s type system, then it is probably correct.
  • It was made by some really smart guys.

$ vim proposal

Luckily, I found a project related to parsing and dumping YAML files (somewhat related to the project I was working on). So, after I got comfortable with the project, I pulled up the courage to send a proposal. The first draft almost took around 24 hours. After that, I sent the proposal and prayed for the best.
Soon the mentor of my project (Herbert Valerio Riedel) contacted me and conducted a short interview on IRC. Throughout the interview, I could see my chances of getting selected diminishing.
But I did not lose hope, continued working on the project, and got more familiar with it.
I kept editing my project proposal until the last day and submitted the final project proposal fifteen minutes before the deadline. During this whole process, I received a lot of help from my mentor.

D-Day

I was sitting on my laptop and refreshing the page continuously to see the result. Finally, the page changed, and I found that the impossible happened. It took some time for me to believe that I was selected.

Acceptance Letter

For GSoC Aspirants

I would like to suggest every student reading this blog to attempt GSoC at least once. It doesn’t matter if you are a ninja developer or not, just try looking into the projects list and find something interesting. Establish good communication with your mentors and write a good proposal.

I hope that my project proposal gives you insight on how to write a project proposal.
You can find more about my project here: Project Summary, Proposal Summary, GitHub

Concluding Remarks

This is my first ever blog post, and as there’s a long way to go, I am going to write some more of them in the upcoming phases of my GSoC journey.

So stay tuned and have a great day!