Haskell Weekly

Newsletter

Issue 508 2026-01-22

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

  • Ergonomic abstractions for numerical computing: My story so far by Marco Zocca

    You know the feeling of encountering an idea that is so simple and pure as to be inescapable? For me, two such moments happened when I encountered the Matlab “backslash” operator and (lambda ) in Scheme. The two ideas are sufficiently different (and alien, I suppose) to merit an origin story of how I encountered them and how they shaped my thinking as I grew as a researcher and practitioner. This backstory is also meant to motivate the three experiments on achieving ergonomic numerical interfaces I will show in the second part of the post.

  • Haskell For Dilettantes - Monoids and Abstraction by Tea Leaves

    Today we do some selected exercises from Set 7 of the Haskell MOOC at haskell.mooc.fi focusing on monoids (or, as I like to call them, “squishables”) and the concept of abstraction in general.

  • HSEC-2024-0004: Hackage package and doc upload stored XSS vulnerability by Fraser Tweedale

    Today the Haskell Security Response Team (SRT) published an advisory concerning a critical security flaw in hackage-server, which is the software that powers hackage.haskell.org, the primary package index for the Haskell ecosystem.

  • Implementing Co, a Small Language With Coroutines #5: Adding Sleep by Abhinav Sarkar

    In the previous post, we added channels to Co, the small language we are implementing in this series of posts. In this post, we add the sleep primitive to it, enabling time-based coroutine scheduling. We then use sleep to build a simulation of digital logic circuits.

  • Learning better decision tree splits - LLMs as Heuristics for Program Synthesis by Michael Chavinda

    A lot of tabular modeling gets easier the moment you stumble onto the right derived quantity. Not something mysterious or “deep.” It’s usually something you can name: a ratio that turns two raw columns into a rate; a difference that becomes a margin; a simple count that captures what a bunch of messy fields were hinting at. If you’ve done this enough times, you start to recognize the repeating shapes: “per unit,” “per time,” “per person,” “net,” “remaining,” “rate.” These show up everywhere because they match how the world is measured. The part I’ve been curious about is: how much of this can we automate without losing that “nameable quantity” feeling?

  • Nvidia Stock Crash Prediction by kqr

    One of the questions of the 2026 acx prediction contest is whether Nvidia’s stock price will close below $100 on any day in 2026. At the time of writing, it trades at $184 and a bit, so going down to $100 would be a near halving of the stock value of the highest valued company in the world. It’s an interesting question, and it’s worth spending some time on it.

  • Static pointers (Haskell Unfolder #53) by Edsko de Vries, Andres Löh

    “Static pointers” are references to statically known values, and can serialized independent of the type of the value (even if that value is a function), so that you can store them in files, send them across the network, etc. In this episode we discuss how static pointers work, and we show how we can use the primitive building blocks provided by ghc to implement a more compositional interface. We also briefly discuss how the rules for static pointers will change in ghc 9.14.2 and later.

Jobs

  • Two open roles with Core Strats at Standard Chartered by José Pedro Magalhães

    We are looking for two Haskell (technically Mu, our in-house variant) developers to join our Core Strats team at Standard Chartered Bank. One role is in Singapore or Hong Kong, the other in Poland.

In brief

Show & tell

  • Case Study: Automating Type Safety for Mission-Critical Industrial Systems by Stack Builders

    Stack Builders built an automated workflow to keep Plow Technologies’ Haskell backend and OCaml/ReasonML frontend perfectly aligned. Using Haskell types as the source of truth, we generated matching OCaml types and codecs with an in-house codegen library. We also produced QuickCheck arbitrary data and JSON golden files to validate round-trip accuracy. Integrated into CI, the system regenerated code and ran cross-language tests on every commit.

  • Show HN: Subth.ink – write something and see how many others wrote the same by sonnig

    This is a small Haskell learning project that I wanted to share. It’s just a website where you can see how many people write the exact same text as you (thought it was a fun idea). It’s built using Scotty, SQLite, Redis and Caddy. Currently it’s running in a small DigitalOcean droplet (1 Gb RAM). Using Haskell for web development (specifically with Scotty) was slightly easier than I thought, but still a relatively hard task compared to other languages. One of my main friction points was Haskell’s multiple string-like types: String, Text (& lazy), ByteString (& lazy), and each library choosing to consume a different one amongst these. There is also a soft requirement to learn monad transformers (e.g. to understand what liftIO is doing) which made the initial development more difficult.

Call for participation