Haskell Weekly

Newsletter

Issue 524 2026-05-14

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.

Featured

  • Agentic AI token compression by Dan Gilmour

    Haskell is a purely functional language with an effect system. It has the effect on tokens of both being incredibly terse and the signatures and types making up a contract for the agent to use. Haskell is a very confusing and often mathematics heavy language, so in the past it was only really used by people with academic backgrounds. With agentic AI, theoretically anybody can take advantage of these language features with minimal knowledge of the language.

  • A Wave of Monads by Tea Leaves

    Chapter 13b, unsurprisingly, involves more practice with monads. I try to consciously explore my mistakes more so as to not lose you, the viewer.

  • Beyond agentic coding with Grace by Impure Pics feat. Gabriella Gonzalez

    Gabriella takes us on a journey with Grace, a domain-specific programming language written in Haskell. It started as a demo typed interpreted functional programming language and evolved into a language for building and auto-generating elaborate prompt chains.

  • Botan: PubKey progress, Post-quantum support, and Better versioning by ApothecaLabs

    Today’s update focuses on two related things - public key infrastructure, and post-quantum algorithms! The former is basically the same thing we’ve been doing with Hash and MAC and Cipher - upgrading it to the new BotanObject, bringing in algorithm data types, adding more convenient interfaces! I won’t bother pasting everything, just the highlights, because there’s a lot.

  • Categorical transformers by Marco Perone

    Haskell is a programming language well known for its usage of monads and for the over-abundance of tutorials trying to explain them. This is not one of those posts. On the other hand, in this post I’ll try to convince you that Haskell without monads (as a main concept) is not only possible, but maybe also a good idea.

  • Compatibility packages in 2026 by Oleg Grenrus

    Seven years ago I wrote a post about compatibility packages. It is now highly outdated, so let us revisit the matter.

  • Exception Annotations: Lay of the Land by Edsko de Vries

    Exception annotations were introduced in GHC 9.10, and can be an invaluable tool for debugging thorny problems. The initial implementation had some important limitations that made them less useful in practice than one might hope, but fortunately the situation has since been much improved. In this blog post we will give a detailed overview of the status quo as of GHC 9.12/9.14, identify some gotchas you should be aware and provide advise on how to deal with them, and briefly look ahead to what will change in GHC 10.0. We will also dedicate a section to discussing the problems in GHC 9.10, for those who cannot yet upgrade.

Jobs

In brief

Show & tell

  • A Game Boy and Game Boy Color Emulator in Haskell by Hassan Abedi

    I’ve made an early version of a Nintendo Game Boy and Game Boy Color emulator in Haskell. It’s mostly implemented in Haskell and consists of a core (backend) and two frontends (web via WebAssembly and desktop via SDL2).

  • KnownNat-indexed vectors by mixphix

    The way sized vectors are usually implemented in Haskell is with a data declaration, typically involving several fields of the same type. This representation has the obvious benefits of automatic deriving for many classes, but working with arbitrary sizes is rather difficult. So I’ve been toying with another approach: using a function type!

Call for participation