It has been a long while since I wanted to write about things I am passionate about. Other than the time constraint of doing this on my free time, my main dilemma have been on choosing between learning new things or writing down the things that I have learned.
When I started my adventure into Haskell, I thought I’d just grasp the core concepts in functional programming, and then write some kick ass applications in Haskell. Instead I went deeper and found out about category theory. From there on I learned type theory, dependent types, and less known languages such as Agda and Coq. The more I learned outside of Haskell, the less I feel I know comparing to the top Haskell programmers in this world.
Haskell can be a pretty intimidating language, even for people like me with many years of programming experience. It is not just about the “scary” concepts like Monads, but also the tremendous amount of math behind it. Granted, most Haskellers agree that you don’t need to understand the math to start programming in Haskell. But to me, the math are so beautiful rather than scary, that I become obsessed learning it rather than coming back to write some Haskell code.
MaybeVoid is my attempt to contribute back to the Haskell community on the little knowledge I learned over the years. I will share about topics in programming languages from the perspective of an intermediate Haskell programmer. At least for the beginning, it would mostly be recap about things that are already well known to the Haskell experts. I also take this as an opportunity to solidify my programming knowledge, since writing about something is also the best way of mastering the topic.
So let the adventure begins. If you have any feedback or comment, please feel free to let me know.