Haskell Weekly


Issue 92 2018-02-01

Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.

Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.

Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.


  • Haskell to MySQL via YeshQL

    A 3 part series with a step-by-step tutorial on setting up, using and testing Haskell with MySQL using YeshQL.

  • Hash based package downloads: Part 2 of 2

    In our previous post, we define a common problem around reproducible build plans. The solution we desired was some form of cryptographic hash based configuration and download system for packages, package metadata, and snapshot definitions.

  • Design patterns in Haskell: The strategy pattern

    This is part one of a series of posts translating the Gang of Four design patterns for object-oriented languages into Haskell. It is intended to be an expansion of Edward Z. Yang’s Design Patterns in Haskell, elaborating each pattern into its own post.

  • Should Stackage ignore version bounds?

    Stackage is a curated build process. We should be able to build a snapshot, run the test suites, and then say that, despite the package’s claims to the contrary, two versions of a package are in fact compatible.

  • Uncurated Hackage layer

    The aim of this proposal is to separate these two purposes, by allowing authors to distinguish if they wish to opt-out of following the PVP and the attendant curation process that helps to maintain correct dependency information.

  • Making GHC an order of magnitude faster with one neat trick

    Under certain benchmarks, GHC is slower than C by 2x to 3x, and this GHC slowdown grows non-linearly with problem size. This is the story of identifying the source of the slowdown.

  • Selling laziness

    Here is my attempt at explaining the case for laziness to those who aren’t already persuaded. The following contains no tedious code examples, and, I hope, appeals to principles that all developers care about.

  • Building a simple Hoogle GUI with Brick

    bhoogle is a simple Hoogle terminal GUI written using Brick. This post is the annotated source code that should give you an idea of how to use Brick and how easy Brick makes building terminal UIs.

  • Why take ecstasy

    So with all of the above frustrations in mind, and a lot of time to kill in a Thai airport, I felt like I could make a better ECS. Better is obviously subjective for things like this, but I wanted to optimize it for being used by humans.

  • Monday Morning Haskell: Upgraded!

    Welcome to the new Monday Morning Haskell! We just went live with the latest changes to the website this week. So it’s time to announce what’s coming next.


  • Automation engineer at Holland & Hart in Boulder

    Automation and AI are poised to radically change the legal industry. We are at the vanguard of that change. We are a creative, dynamic technology development team that operates like a startup, but works inside one of the largest law firms in the region.

In brief

Package of the week

This week’s package of the week is Fixer, a Haskell client for the Fixer foreign exchange rate API.

Call for participation