Haskell Weekly

Newsletter

Issue 542 2026-09-17

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

  • Absolute Failure: Haskell’s Bottom Type(s?) by Ben Powell

    What is the type of a function that loops forever, or crashes the program? How do you represent a function that can’t normally be called, or parameterize a type so that some versions of it can’t be created? One solution is the bottom type, which is one of the simplest and weirdest concepts in programming. It’s closely related to “bottom”, something that is part of nearly every program but rarely shows up explicitly except through bottom types.

  • CloudMicroHaskell: Direct-Style Distributed Haskell with MicroHs by Robert Krook

    CloudMicroHaskell and the accompanying paper are joint work by Lennart Augustsson and me. Lennart presented the paper at the 2026 ACM SIGPLAN Haskell Symposium in Indianapolis. CloudMicroHaskell reimplements Cloud Haskell on top of MicroHs. Its defining feature is MicroHs’s two compiler primitives for serializing and deserializing almost any value.

  • Episode 86 – Michael Hanus by The Haskell Interlude

    In this episode, we sat down with Michael Hanus. Michael is a professor at the University of Kiel and is one of the founders of functional logic programming, the combination of logic and functional programming in a single formalism. Michael is also the creator of Curry, a functional-logic language that resembles Haskell, so you can dive right in if you’re familiar with Haskell. Naturally, we talked about what functional logic programming is, how it improves over plain functional programming, and the challenges of semantics and implementation. We learned a lot - enjoy!

  • Search over Algebraic Graphs by David Anekstein

    In my post Generic Recursion Applied to Algebraic Graphs we explored how we can leverage recursion schemes to perform basic operations on a graph data structure. In that post, as well as in the alga library itself, algorithms on graphs were facilitated by first converting the algebraic graph representation into an adjacency map and performing the algorithms on that data structure. In Algebraic Graphs with Class3, Andrey Mokhov described a desire to perform algorithms such as search on the algebraic graph representation itself. In this post, we will explore just that and outline a way to conduct Dijkstra’s algorithm over the same algebraic representation alga uses, without first constructing an adjacency map. The algorithm will run in 𝑂(𝑠log𝑠) time, where 𝑠 is the size of the algebraic graph expression.

  • Simple and Efficient Row-Level Security by Evan Czaplicki

    When we make multi-user web apps, everyone’s data is stored together in a bunch of big tables. How can we be certain that we never share data with the wrong person? Database systems like SQLite are excellent, but they do not have built-in row-level security mechanisms that are suitable for modern web apps. It is up to the programmer to remember the exact access policies every time they write or modify a query.

  • Tilia — a new formatter for Haskell by Mark Karpov

    Haskell remains a difficult programming language to format. The core parsing/printing machinery can be built relatively easily now that we have ghc-lib-parser, which exposes GHC’s real parser (printing was never a problem), but for years there were three challenges that seemed insurmountable.

  • Well-Typed at ZuriHac 2026 by Hannes Siebenhandl, Adam Gundry

    Well-Typed was strongly represented at this year’s ZuriHac, with our team of Haskell experts giving six talks across ZuriHac itself and the Haskell Ecosystem and Implementors’ Workshops. If you couldn’t make it to ZuriHac, the recordings are now available. In addition, we are delighted that Dominik will be giving a keynote talk at MuniHac 2026 on 11th October, and there’s still time to register for MuniHac!

  • Why Do Companies Stop Using Haskell? | ZuriHac 2026 by Vaibhav Sagar

    Why do companies stop using Haskell, even when the language itself works well? Vaibhav Sagar examines real-world cases to uncover the business, organizational, and technical forces that can push companies away from Haskell.

Jobs

In brief

  • Announcing Weeder 2.11.0 by Ollie Charles

    I’m happy to announce the release of Weeder 2.11.0. Weeder is a utility to find unused declarations over an entire Haskell project.

  • Get-tested v0.1.10.0 release by Hécate Moonlight

    get-tested is a CLI tool that retrieves the tested-with stanza of a cabal file and formats it in such a way that GitHub Actions can use it. You can also use it as an action in your workflows.

  • langchain-hs 0.0.5.0: Ground-up rewrite, modular architecture, StateGraph, MCP, and OpenTelemetry* by Tushar Adhatrao

    This release is a complete ground-up rewrite of the framework designed for long-term maintainability, type safety, and seamless support across multiple LLM providers (Ollama, OpenAI, Gemini, OpenRouter, and MCP).

  • Rel8 1.8 released! by Teo Camarasu

    We’re happy to announce the release of Rel8 1.8! Rel8 is a Haskell library for interacting with PostgreSQL databases, built on top of the fantastic Opaleye library.

Show & tell

Call for participation