Newsletter
Issue 529 2026-06-18
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
-
Contributing to Haskell Through a Beginner’s Lens by Vidit Odedra
October 2025 was when I wrote my first line of Haskell. Fast forward to May 2026, I am consistently contributing to the Haskell Language Server (HLS) and my Google Summer of Code proposal also got accepted. This blog is a mix of my personal experiences along with general learnings that could help beginners to start contributing to Haskell repositories.
-
Episode 83 – POPL 2026 - Part 2 by The Haskell Interlude
This is the second part of a miniseries on this year’s Symposium on Principles of Programming Languages, a.k.a. POPL 2026, hosted by Jessica Foster. In this episode we talk about: symbolic execution monads, what a lazy linear core in Haskell might have in common with Rust, hyperfunctions, the hallway track, and how to deal with rejection.
-
Fork-fragile reader-like operations in Haskell by Tom Ellis
The Haskell ecosystem contains several examples of “reader-like” operations that run in IO rather than in a specific “reader-like” monad. They necessarily have fragile behaviour when performed in a forked thread, because Haskell does not yet have suitable primitives with which to implement such operations robustly. (For more information see Haskell’s missing mutable reference type.) This article catalogues some examples.
-
Haskell for Elm developers: giving names to stuff (Part 8 - IO) by Flavio Corpa
Welcome back! In my last post, we explored
Traversableand discovered that “the answer is alwaystraverse”. Today we are going to tackle something that scares a LOT of newcomers to Haskell, and yet — surprise, surprise! — you have been doing it in Elm all along:IO! -
Kan Extensions in Double Categories by Bartosz Milewski
In a double category that is also a proarrow equipment, we have the ability to bend arrows.
-
Libraries - Haskell for Dilettantes by Tea Leaves
Set 14A of Haskell.mooc.fi is all about using Libraries! Today we’re going to walk through exercises 6, 7, and 8 from that problem set. Let’s jump in.
-
Making GHC upgrades easy by Simon Peyton Jones
When a shiny new version of GHC comes out, it should be easy to upgrade. After all, the new compiler should be more capable than the previous version! But in practice that isn’t even nearly true. The upgrade path is so hard that many companies are using versions of GHC from many years back; it’s just too much work for them to upgrade. The GHC team has been working hard on this issue, and has made lots of progress. This post summarises what we have done, what remains to be done, and invites your help.
-
Narrowing range of GHCs able to build Cabal by Bodigrim
Cabal project narrows the range of GHCs able to build
Cabal-syntax,Cabal,cabal-install-solver,cabal-install, etc. to support 3 years worth of compilers, which currently spans back to GHC 9.4. -
Podcast #62: Dependent Haskell with Vladislav Zavialov by Type Theory Forall
Vlad works at Serokell to develop the Glasgow Haskell Compiler, he is a former member of the Haskell Steering Committee and the current implementer of Dependent Haskell. In this conversation we talk about the development process of the GHC, he explains with detail how’s the decision process of the community to modify the language through the Haskell Steering Committee. And we get pretty technical discussing the GHC internals, he basically gives us a class of how things looks like and how can a newcomer start hacking the GHC today. And of course, we go into details of the theory and implementation of Dependent Haskell!
-
Writing static checks to an unsuspecting library with Liquid Haskell by Xavier Góngora
This post presents a little epic to insert static checks in Haskell’s
Diffpackage using Liquid Haskell (LH). Static or compile-time checks are helpful to confirm formerly implicit assumptions in the implementation, providing an additional layer of assurance.
In brief
-
Release
language-haskell3.8.0 by FendorThe Haskell IDE team is excited to announce a new the first release of
language-haskellunder the Haskell community namespace. -
Release
vscode-haskell2.8.1 by FendorThe HLS team announces a new release for the
vscode-haskellextension. -
Stack 3.11.1 by Mike Pilgrem
Show & tell
-
A gallery of Sabela notebooks by Michael Chavinda
Work people have published. Read it in your browser, or run it yourself.
-
Implementing Redis INFO in Haskell by Olaoluwa Mustapha
In a previous blog post, I talked about how I used Cabal’s custom setup script to generate a module with build info at compile time. As mentioned in that post, the custom setup script work was but a piece of what went into implementing the INFO command for my Redis server. Let’s talk about it.