It’s time to learn me a Haskell (for great good!)

I seem to have a thing for learning new programming languages. Over the last few years, I’ve picked up ECMAScript, F#, Powershell, and Swift. I enjoy learning, and learning a new language often reveals new ways of doing things, but I’d also like to eventually do something practical with them. That’s why I’m writing this post.

When I saw last week’s announcement that Microsoft would be acquiring Xamarin, I initially grew concerned. I use a Mac and prefer to work under OS X rather than Windows, and the announcement pretty strongly played on the value that Xamarin brought to Visual Studio in cross-platform mobile development. However, after thinking about it, I realized that I’m really just programming for my own edification at this point, and worrying about whether I would be able to develop apps using e.g. Xamarin.iOS or Xamarin.Mac. That’s why I decided to buy RPG Maker MV to make an RPG.

With that in mind, I decided to reconsider the language I was using. I already tend to write code in a pure functional style and have even tried to do point-free style in F# even though it’s not a particularly good fit (due to the value restriction and limits on automatic generalization), so it made sense to give Haskell another go. I tried learning it back in college, but I didn’t really grok functional programming back then like I do now.

I picked up a copy of Learn You a Haskell for Great Good!, which I’m reading now. Having some experience with functional languages, I’m not quite its target audience, but I wanted to start easy. After that, I’m going to read Haskell Programming from First Principles. I’ve been wanting to learn more about lambda calculus, so I look forward to the introduction that book provides (along with all the other topics it covers). At the same time, I definitely need to find some projects to work on to put what I’ve learned to use. I did a some Advent of Code in Swift and F#, but I’m not sure about doing it also in Haskell. I do have a new Pathfinder game coming up. Maybe I should write that weather generator I’ve been meaning to write ever since I ran Kingmaker for my group several years ago.