Haskell Weekly


Issue 351 2023-01-19

Subscribe now! We'll never send you spam. You can also follow us on Twitter or with 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.


  • Competitive programming in Haskell: Infinite 2D array, Levels 2 and 3 by Brent Yorgey

    In a previous post, I challenged you to solve Infinite 2D Array using Haskell.

  • Composing instances using deriving via by Magnus Therning

    Today I watched the very good, and short, video from Tweag on how to Avoid boilerplate instances with -XDerivingVia.

  • Concurrent state machine testing with linearisability by Stevan Andjelkovic

    Below we will show how the same state machine specification that we already developed previously can be used to check if a concurrent execution is correct using a technique called linearisability checking.

  • FOOL’s errand: let’s build a real FP language from scratch (in Haskell) by Anton Antich

    This is the first article in a series describing the creation of FOOL3: “functional object-oriented low-level language” — a functional programming language with a powerful type system.

  • GHC 9.6.1-alpha1 is now available by Ben Gamari

    The GHC team is very pleased to announce the availability of GHC 9.6.1-alpha1. This is the first alpha release in the 9.6 series which will bring a number of exciting features.

  • Haskell Guide by Reuben Cohn-Gordon

    Since there are quite a lot of attempts to write Haskell introductory material, with varying levels of success (and some understandable scepticism), I’ve included some notes about why I think this guide is a Good Idea.

  • Making Haskell lenses less pointless by Jules Hedges

    For reasons that are brutally obvious to anyone who’s ever programmed with open games, it’s a hard requirement to have a syntax based on name-binding: working with point-free combinators is not humanly possible at this scale.

  • Parallel streaming in Haskell: Part 3 - A parallel work consumer by Channable

    We will discuss how we can execute work in parallel and look at the internals of Conduit to do this efficiently. For a good understanding it helps if you have a bit of hands-on experience with the Conduit library.

  • Relational Parsing, part 0, recognizer by Henri Tuhola

    Examining relational parsing, a new general context-free parsing algorithm.

  • What I love about the Haskell community by Simon Peyton Jones

    Today, January 18th, is my 65th birthday. I am almost exactly twice as old as Haskell – the Haskell 1.0 report came out in April 1990.


Trying to hire a Haskell developer? You should advertise with us!

In brief

  • AccumT’s MonadAccum instance by Felix Springer

    Transformers provides a monad transformer AccumT. Mtl provides a type class MonadAccum. There should be an instance (Monoid w, Monad m) => MonadAccum w (AccumT w m), but this is not the case.

  • Cabal package macros (MIN_VERSION_xyz) by Shayne Fletcher

    This macro is a compile time predicate. Use to test the hlint configured package version is at least x.y.z.

  • Episode 20: Jesper Cockx by The Haskell Interlude

    In this episode Jesper Cockx, one of the main Agda developers, is interviews by Niki Vazou and Matthias Pall.

  • GHC+DH Weekly Update #4, 2023-01-18 by Vladislav Zavialov

    Hi all, you are reading the fourth weekly report on the implementation of dependent types in GHC.

  • GHC Medium-Term Priorities by David Christiansen

    The GHC team asked me to help them gather input about their priorities for the next six months.

  • GHC WebAssembly Weekly Update, 2023-01-18 by Cheng Shao

  • GSoC 2023: Call for Ideas by Jasper Van der Jeugt

    Google Summer of Code is a long-running program by Google that supports Open Source projects. Haskell has taken part in this program almost since it’s inception!

  • Writing Haskell with Chat GPT by Monday Morning Haskell

    In our last couple of articles, we’ve asked Chat GPT a bunch of questions about Haskell and functional programming. Today we’re going to do one more exploration to see what kinds of Haskell code this chatbot can write.

Show & tell

Call for participation