Newsletter
Issue 468 2025-04-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
-
Concurrency in Haskell: Fast, Simple, Correct by Matt Kline
After nearly a decade of building embedded systems in C, C++, and Rust, I’ve somehow ended up writing Haskell for a living. If you’d asked me about functional programming a few years ago, I would have told you it was self-indulgent academic baloney—and then I stumbled into people using it for real-time systems where microseconds can mean literal life or death.
-
Evaluating AI’s Impact on Haskell Open Source Development by Matthew Pickering, Sam Derbyshire
We have recently contributed to a research study investigating how AI can help with realistic software development tasks. METR initiated this study to measure how AI tools affect real-world software engineering productivity, particularly in substantial open-source projects. The study was designed to measure and assess how experts can use AI tools in order to improve their workflows. It’s all well and good if the latest model can fix an artificial test case, but what’s more interesting is how AI can be driven by expert knowledge.
-
Experiments with writing Haskell with Aider by Michael Peyton Jones
I recently had a golden opportunity to try out using LLMs to write code. I had a completely green-field, standalone project at work, namely implementing support for an industry standard protocol (details omitted, but I work for CircuitHub, so you can imagine the sort of thing).
-
Haskell Foundation Q1 2025 Update by José Manuel Calderón Trilla
-
Haskell Language Server 2.10.0.0 release by Fendor
The last release of HLS was quite some time ago, back in July 2024. Thus, this release has quite a number of new features, some of which we would like to highlight for you.
-
The Haskell Unfolder Episode 42: logic programming with typedKanren by Andres Löh, Edsko de Vries
Functional programming is programming with mathematical functions, mapping inputs to outputs. By contrast, logic programming—perhaps best known from the language Prolog—is programming with mathematical relations between values, without making a distinction between inputs and outputs. In this two-year anniversary episode of the Haskell Unfolder we take a look at typedKanren, an embedding of the logic programming language miniKanren in Haskell. We will see how we can use it to write a type checker for a simple functional language in a few lines of code.
-
Waterfall CAD has SVG support now by Joe Warren
I’m the author/maintainer of a Haskell library for programmable CAD. I mostly use this library for design for 3D printing. This is the story of how I came to add SVG1 support to it.
-
What difference lists actually are by Derek Elkins
…In the last several years, it has become popular to refer to this technique as “difference lists”. Often no justification is given for this name. When it is given, it is usually a reference to the idea of difference lists in logic programming. Unfortunately, other than both techniques giving rise to efficient concatenation, they have almost no similarities.
In brief
-
langchain-hs 0.0.1.0: Build LLM-powered applications in Haskell by Tushar Adhatrao
-
LLM-powered Typed-Holes by Matthías Páll Gissurarson
-
roguetype: the first ever roguelike written in the OCaml type system by Florian Angeletti
Show & tell
- HaskellCard: Game Engine like HyperCard by someodd
A while back (about two years ago) I made a game engine for Haskell called HaskellCard. I stopped development a while ago, but I think if people became interested I could start development again.