Haskell Weekly


Issue 402 2024-01-11

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.


  • Help the world understand developers! (ad)

    Calling all coders, creators, and tech enthusiasts! Contribute to the Developer Nation Survey and steer the course of the tech ecosystem. Your insights can win you fantastic tech gear and rewards! Start now!

  • 1 vs 1.0 by Manav Rathi

    Real numbers and integers are entirely different things. They’re often incorrectly equated because both are plotted on the same number line.

  • A Range kata implementation in Haskell by Mark Seemann

    This article is an instalment in a short series of articles on the Range kata. Here I describe my first attempt at the exercise.

  • Botan Cryptography Monthly Status Report #1 by ApothecaLabs

    This is the second* monthly report for the Botan Cryptography Project, and it is far overdue; I must apologize for the latency, and I do hope you’ll forgive me. I kept putting off writing the update in favor of coding, and suddenly it’s days later. Good thing I have plenty to talk about!

  • foldl traverses with State, foldr traverses with anything by Tom Ellis

    Avi Press gave an excellent talk at Scale By the Bay 2023 about difficulties using Haskell at a startup. He mentions that even experienced Haskellers don’t always know how to use fundamental parts of the language. In particular, “even experienced Haskell engineers aren’t always going to know whether to foldl or foldr.” In this article I’ll deduce a firm rule that allows you to make the correct choice. I will stick to the versions of these functions that operate on lists.

  • Go get tested! Test your supported GHC versions in GitHub Actions by Hécate Moonlight

    Two years ago I created get-tested, a tool that reads your cabal file, extracts the tested-with stanza and produces a test matrix for GitHub Actions. It has served me well to this day, but it also recently received a very useful contribution from @turion, who wrote a reusable Github Action for it! I am extremely grateful for this effort.

  • GHC 9.6.4 is now available by Zubin

    The GHC developers are happy to announce the availability of GHC 9.6.4.

  • How to Write Comments in Haskell by Monday Morning Haskell

    Comments are often a simple item to learn, but there’s a few ways we can get more sophisticated with them! This article is all about writing comments in Haskell.

  • Penrose Kite and Dart Tilings with Haskell Diagrams by Chris Reade

    As part of a collaboration with Stephen Huggett, working on some mathematical properties of Penrose tilings, I recognised the need for quick renderings of tilings. I thought Haskell diagrams would be helpful here, and that turned out to be an excellent choice. Two dimensional vectors were well-suited to describing tiling operations and these are included as part of the diagrams package.

  • Stackage LTS 22 released and Nightly on ghc-9.8 by Jens Petersen

    Finally we put out a short post about the recent Stackage releases and updates last month.

  • When “blocked indefinitely” is not indefinite by Edsko de Vries

    thread blocked indefinitely in an STM transaction. Occasionally, however, the runtime will throw this exception even when progress is possible.


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

In brief

  • Free ListT transformer by Manuel Bärenz

    I created a new ListT library. It has a lawful list monad transformer based on free monads and an applicative transformer isomorphic to the “old” ListT.

Show & tell

  • DevOps Weekly Log, 2024-01-03 by Bryan Richter

    Yesterday, after resolving an issue with Hoogle search on Stackage.org, I made the DNS switch that moved Stackage to its new home on Haskell Foundation-managed hardware!

  • How to compile a String to an optimised CoreExpr using the GHC API by Sebastian Graf

    Since it took me a while to figure out what would be the best way to compile just an expression instead of a full module using the GHC API, here’s a small end-to-end example to do that, in the hope that it encourages a few people to play around with it.

  • Monocle workspace for Haskell projects by tristanC

    Monocle is a free software (GPL) written in Haskell, it helps teams and individuals efficiently organize daily duties.

  • tinytools - a monospace unicode diagram editor by u/cmspice

    Making a short post to announce the first official release of tinytools, a monospace unicode diagram editor written in haskell and reflex-vty for the terminal based frontend.

Call for participation

  • GSoC 2024 Call for Ideas by Aaron Allen

    Google Summer of Code is a long-running program by Google that supports Open Source projects. Haskell has taken part in this program almost since it’s inception! It allows everyone (since 2022, before that it was only students) to contribute to projects for a stipend. However, in order to do that, we need to have some ideas of what to contribute to. In the past, this has led to many improvements for GHC, Cabal, HLS, Hasktorch… and it can include your project as well! This is a great way to find contributors for your project (even after the summer ends) – many past participants have become involved long-term.

  • swarm: Use cabal-fmt on swarm.cabal

  • wybe: Implement fmt function for float type