New Blog

2019-05-17


This is my first post in a while. I’ve been busy with school and work, but a lot has changed since I last posted. Once this semester is over I plan on posting a lot more often. I’ve been hacking around in Haskell a lot over this Spring. Since I last posted I’ve worked on a basic roguelike game, an implementation of Reversi AI using the minmax algorithm, this new blog, open-source Haskell projects, and material for a basic Haskell/functional programming tutorial series that I’m working on. I also spent a lot of time working on my proposal for Google Summer of Code and it was accepted. I’ll be working on a web application called issue-wanted over the summer with Haskell.org and my two mentors Dmitrii Kovanikov and Veronika Romashkina. From the abstract of my proposal:

Issue-wanted is a web application focused on improving the open source Haskell community. It does so by centralizing and categorizing GitHub issues across many Haskell repositories into a single location. The current issue-wanted code base is a skeleton project with a list of desired features. Over the three month period, I will build the backend by implementing the GitHub API query functions, database schema, asynchronous worker, API endpoints, and the necessary tests. Many more decisions will be made throughout the process. This proposal covers the features and components that make up issue-wanted, and the different ways they may be implemented.

I am super excited to work on this project. I think it will be great for the Haskell community and will lower the barrier of entry to contributing to open-source Haskell projects. I will learn a lot while building issue-wanted and I will make sure to document my experience on this blog as I go along. I hope that others will be able to take the techniques that I use on this project and use them on their own Haskell web applications. I may be wrong about this, but I still feel that there isn’t enough documentation on Haskell web programming techniques that are easily accessible to the average programmer. My goal is to make a resource for programmers that want to build their next web application in Haskell and take their Haskell ability to the next level. I find that a common complaint in the Haskell community when it comes to learning resources is the lack of resources that bridge the gap between beginner and intermediate level Haskell programming, and how to use Haskell to build real-life, usable applications. There are a few out there like Real World Haskell and Haskell Programming from First Principles, but adding another resource to this list won’t hurt and I hope that I cover some things that these other resouces might’ve missed or “underexplained”. When I was learning Node.js and Express back when I first started programming I remember how many easily understandable tutorials and blog posts there were. I want to achieve the same kind of friendliness with the tutorial series I’m working on. I truly believe that building a web server in Haskell is more simple than building a web server in Node.js, and I want to prove it.