Haskell Weekly


Issue 360 2023-03-23

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.


  • State Monad: a bit of currying goes a long way by Hackle Wayne

    Even after getting Maybe, List and Either, the State Monad can still look like dark magic. This is an intro for the initiated.

  • One does not simply use GHCup on macOS M1 by Robert Pearce

    Using Haskell through Nix or Docker might be easier paths on macOS, but this article should help if those options aren’t available.

  • Introducing Butler Virtual Operating System by Tristan de Cacqueray

    This post introduces haskell-butler, a virtual operating system that runs multi-players applications on the web.

  • Late Cost Centre Profiling by Matthew Pickering & Andreas Klebinger

    GHC 9.4 contains a new cost-centre insertion strategy which provides more detailed profiling reports without affecting the optimisation of the program. The idea is to insert cost-centres after the optimiser has run so that the optimiser can’t be affected by the cost centres.

  • memfd: An example of Haskell and C by Chris Martin

    This article is installment two of two. Part one laid out some important concepts, and this part goes into the inner workings of the memfd library to show how Haskell FFI works.

  • Multiple Component support for cabal repl by Matthew Pickering

    Following on from our work implementing support for compiling multiple units at once in GHC, we have now been extending the ecosystem to take advantage of this new support.

  • Debunking Haskell Myths and Stereotypes by Impure Pics

    Haskell is covered with myths and stereotypes, such as “You need a Ph.D. to do Haskell” or “Haskell is only good for writing compilers”. These are silly and not true. Let’s debunk the most common ones.


Trying to hire a Haskell developer? You should advertise with us!

In brief

  • Episode 23: Ben Gamari by The Haskell Interlude

    In this episode Wouter Swierstra and Joachim Breitner chat with Ben Gamari. Ben is a consultant at well-typed known for his work at GHC.

  • Getting started with Haskell and Nix by Francisco

    In Haskell, you’ll encounter three primary options for environment setup: cabal, stack, and Nix, and plenty of people arguing for and against each of these options. This guide is here to help you quickly get started with Nix.

  • GHC WebAssembly Weekly Update, 2023-03-22 by Cheng Shao

    Took some time off last week, and this week is a rather slow one due to lots of reasons. Still, glad I have some progress to report.

  • Haskell Foundation DevOps Weekly Log, 2023-03-22 by Bryan Richter

    In the last week, my time was spent on ops incidents and bug fixes.

  • Rust for Haskell Developers by Jay Zelenskyi

    We love Haskell, but we also love learning new languages. In this article, we want to show how to use your Haskell knowledge to write Rust code.

  • Series Spotlight: Monads and Functional Structures! by Monday Morning Haskell

    This series will help you understand the concept from the group up, starting with simpler abstract structures like functors and applicative functors.

Show & tell

  • Crazy Shell by Daniel Firth

    Crazy Shell is a nix function that makes a Haskell shell.

  • crem by Marco Perone

    crem stands for compositional representable executable machines. It allows defining state machines (Mealy machines in fact), composing them to build bigger machines out of smaller ones and then running them and drawing their flow and their state space.

  • neotest-haskell version 0.6.0 by Marc Jakobi

  • Scarf Gateway

    Scarf Gateway is a universal redirect layer for any digital artifact or URL, anywhere online. Scarf Gateway acts much like a customizable link shortener that also lets you serve software like Docker containers, Python packages, or anything other kind of software you distribute.

  • text-display version by Théophile Choutri

    The text-display library offers the Display typeclass for developers to print a textual representation of datatypes (and data) that do not have to abide by the rules of the Show typeclass.

Call for participation