Haskell is the perfect language for the Five Languages in Five Weeks challenge. It’s different, has a lot of interesting features, and is a actually used by quite a few people. I’m far from production ready in it, but learned quite a bit in my week with Haskell.

Haskell Logo

My Haskell repository is probably the least impressive of the languages so far. I say that because it really only contains example code outside of the obligatory “Hello Worlld” application. There’s no test project to be found. A lot of my time spent with Haskell was in Haskell’s REPL, ghci. ghci allowed me to rapidly test new concepts and explore the language. It’s a fine tool. Use the following links to checkout the other repositories from Five Languages in Five Weeks: week one over TypeScript and week two over Elixir.

Functional, Pattern Matching, Different (Just Like Elixir)

Going through Elixir last week was a nice change of pace from the typical object oriented programming languages. Jumping directly into Haskell after Elixir was like deja vu. Since they’re both functional, the two languages have a lot of similar features. The similarity made it easy to get up to speed quickly. One downside of the similarity was that the languages are running together in my mind. Syntax wise I can differentiate the two, but identifying subtle differences between the languages is difficult.

Further Learning Plans

I don’t see myself spending a lot of time with Haskell in the future. It’s a nice language with some really cool features, but I’m not feeling a connection with it. If I come back to it, I will study functors and monads in depth. The type system is another thing that I wouldn’t mind looking at further.

Resources

I was able to pull from a few resources to learn Haskell this week.

Haskell Fundamentals Part 1 a Pluralsight course by Benson Joeris. This course iss solid. Joeris quickly runs down the language features.
Learn You a Haskell for Great Good! by Miran Lipovaca. This is the go to resource for anyone learning Haskell. I’ve enjoyed working through it so far. I got through the first seven chapters.
REST API in Haskell this is an awesome blog post where the author sets up a REST API using Haskell. I didn’t implement it myself but greatly enjoyed reading over it.

Quick Final Thoughts

Haskell is a robust functional programming language worth learning. I didn’t feel a strong connection to the language, but I did enjoy the challenge of learning it. Coming in to this week I thought that Haskell was going to be really difficult to learn. When I got to it though, none of the features I played with were very hard at all. The concepts were already familiar to me. Now, I’m not an expert over the language, and I probably never will be, but the language is definitely “grokable” for run of the mill software developers.