Issue 149

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.


  • Aeson’s mysterious lazy parsing by Han Dong Zhu

    Aeson provide two flavor of parsing entrances: decode and decode'. The document on decode says that “This function parses immediately, but defers conversion.”

  • Beeraffe by Jasper Van der Jeugt

    This weekend, I finished a silly little game in PureScript called Beeraffe. In this blogpost, I want to give some more background information on how this game came to be.

  • Exceptions tutorial from IH book by Mark Karpov

    In a language like Haskell, with its strong and powerful type system, why should we “contaminate” such a language with the concept of exceptions?

  • GHC 8.6.4 released by Ben Gamari

    The GHC team is very happy to announce the availability of GHC 8.6.4, a bugfix release in the GHC 8.6 series. The 8.6.4 release fixes several regressions present in 8.6.3.

  • Hanayama O’Gear Puzzle by Ben Wiener

    I tried solving the puzzle for about fifteen minutes before deciding to use a computer. My basic strategy was to treat the problem as a graph search, where the nodes of the graph are the different states the cube and gear can be in.

  • Monoidal and Applicative Functors by Marcin Szamotulski

    In this post we will explore the equivalence between applicative and monoidal functors (i.e. functors which preserve cartesian product).

  • Object oriented Haskell by Julie Moronuki

    This week’s most exciting announcement is that I am learning a bit of object-oriented programming and how that translates into Haskell.

  • Property-Based Testing in a Screencast Editor: Introduction by Oskar Wickström

    This is the first in a series of posts about using property-based testing (PBT) within Komposition, a screencast editor that I’ve been working on during the last year.

  • Recursion Schemes, Part VI: Comonads, Composition, and Generality by Patrick Thomson

    Now that we’ve covered folds (cata, para, and histo), unfolds (ana, apo, and futu), and refolds (hylo, hypo, elgot, and chrono), I hope I have showed that recursion schemes are a useful tool to organize programs, beautify code, and clarify human intent.


  • Software engineer at ITProTV in Gainesville

    ITProTV is disrupting the eLearning world with engaging online training that people actually want to watch. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.

    Taylor Fausak, the editor of Haskell Weekly, is the lead engineer at ITProTV.

In brief

Package of the week

This week’s package of the week is fakedata, a library for producing fake data such as names, addressess and phone numbers.

Call for participation


North America



South America