I’ve been playing with Haskell lately and I must say the types, while super constricting and frustrating at times, are revolutionizing how I think about programming.
The lack of “nil” as a valid value of any type, and having to explicitly handle that case with something like Maybe, is very powerful.
Blaze’s HTML combinator to keep all HTML generation strongly typed as HTML, makes it a breeze to deal with entity encoding and the like.
The explicitness and rigidity of going to/from JSON via something like aeson feels nicer and less prone to introducing bugs than what I’ve done before in ruby.
SPJ’s enthusiasm is contagious! :)
Although this is a bit above my current paygrade as far as Haskell & type systems are concerned, I thoroughly enjoyed the talk and learned a lot. Thanks for sharing!
I think it’s worth noting that videos of all lectures from the Oregon Programming Languages Summer School 2013 are available online. You can also access videos from previous years by changing the “summer13” in the URL to, say, “summer12”. It’s a real gem!