Haskell Weekly

Newsletter

Issue 34 2016-12-22

Subscribe now! We'll never send you spam. You can also follow us on Twitter or with our feed.

  • Haskell package checklist

    This post covers everything you need to know about developing a Haskell package. I wrote it because I made a few packages and nothing covers the entire process.

  • Haskell pitfalls

    Mark Wotton and Chris Allen were discussing some of the newbie traps in the Haskell ecosystem, particularly in libraries. They’re a recurring topic for us and we finally decided to round some of the more common ones up into a list. Hopefully this prevents some pain in the future.

  • Beware of readFile

    This behavior is very clearly documented in System.IO, namely that GHC will follow system-specific rules to determine the appropriate character encoding rules, and open up Handles with that character encoding set. However, I’m also going to claim the following: In exactly 0 cases in my Haskell career have I desired the character encoding guessing functionality of the textual readFile functions.

  • Setting up a Haskell development environment

    In this post, I’m going to go through step by step how to set up a Haskell development environment using Stack (a Haskell build tool), GHC, ghc-mod and other wonderful Haskell tools, and integrating all this with the Atom editor.

  • Haskell on Raspberry Pi 3

    Being passionate about Haskell I decided that the first thing to do was to get it running on my new toy. So here is my guide to get Haskell running on the Raspberry Pi.

  • Control flow with an open sum type

    A typical approach to avoid exceptions is to make functions return values indicating which control path to follow. We see how to define an open sum type that allows us to deal with this issue without any boilerplate code.

  • Servant in Yesod

    Both Servant and Yesod expose functions to convert them to WAI applications, and both have means of running arbitrary WAI applications.

  • Thoughts about Spec-ulation

    My feeling is that a large amount of breakage associated with software change that is just a product of negligence; breakage not for any good reason, breakage that could have been avoided if there was a little more help from tooling.

  • Presentable types

    The ability to display non-textual results (such as graphics and animations) inline in playgrounds is one of Haskell for Mac’s distinguishing features. In Version 1.3.1, we have made it user-extensible, by way of instances of the type class Presentable.

Thanks for reading! Let us know on Twitter if you liked this issue. Open an issue on GitHub if you think it could be better.