1. 19

  2. 8

    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.

    Lastly, and offtopic I realize, but I just recognized the submitter’s username as the author of bloodhound for elasticsearch. Quick question: It looks like it doesn’t support aggregations (previously: “facets”), is that right? Is it on the roadmap at all? Do any other ES libraries support that? And I guess to bring it back on topic, how has haskell’s type system affected your use of elasticsearch? I’ve only used ES in the context of ruby/javascript, so I can’t quite wrap my head around how it will help just yet.

    1. 5

      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!