30 days with Haskell

My 30-day challenge: Learn Haskell by studying at least 30 minutes a day while I eat breakfast.

I gave a presentation yesterday to developers at Well.ca about what I learned from my 30-day challenge. There were things that the development team can take from functional programming and apply to our day job of using PHP. My presentation slides here show features of Haskell and how it contrasts with PHP equivalent or PHP practices.

Just before I left Microsoft, I learned from one of the Engineering Forum talks that some teams there actually do learn one new programming language a year as a team. I thought that was really cool and wanted to challenge myself. I specifically wanted to learn a functional language because I keep reading about Haskell, Scala, Clojure, Erlang, Common Lisp, etc. The promise of no side-effects and easier time with concurrency were big draws for me. Also, I wanted to really challenge myself by learning a paradigm I was not familiar with. I am learning Objective-C just because of what I do at work, but that language is not a huge change for me in terms of how I think. My past experience from mobile development transfers really easily to iOS development.

At this time I finished reading the book Learn You a Haskell for Great Good! by Miran Lipovača, and I’m a third of the way through Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen. I also played with yesod web framework a little bit going through the tutorial by Yann Esposito and the Haskell and Yesod book.