Haskell Weekly


Issue 280 2021-09-09

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.


  • Haskell Love Conference

    If you’re ready to take your Haskell skills to the next level and you still haven’t made plans, register now to join us on September 10th.

  • An Introduction to Type Level Programming by Rebecca Skinner

    In this article you’ll learn how to build programs that make heavy use of type-level programming by working through building a theming system.

  • Family Values by Matt Parsons

    I wrote a big thread on the company Slack to compare type families: open vs closed vs associated. I also ended up discussing data families, as well, since they are a good complement to type families.

  • How Dependent Haskell Can Improve Industry Projects by Danya Rogozin & Vladislav Zavialov

    In this post, we show that Dependent Haskell can be used to simplify and improve the code in a large production codebase.

  • Laziness: Clojure vs Haskell by Gary Verhaegen

    In Haskell, on the other hand, laziness means that the elements of a list will be computed on demand, but that only applies to pure computation.

  • Leibniz equality in Haskell, part 2: heterogeneous equality by Ryan Scott

    In this part of the blog series, we will examine heterogeneous equality, a more exotic form of equality where the type arguments are allowed to have different kinds.

  • Mutating Lenses

    I will be sad about the state of mutable Haskell for a bit. Then we will figure out how to mix lenses with mutable state. And learn that the real mutable borrows were the pure values that we made along the way, kind of.

  • Parsing Layout, or: Haskell’s Syntax is a Mess by Abigail

    I’m going to demonstrate how to wrangle Alex and Happy to implement a parser for a simple language with the same indentation sensitive parsing behaviour as Haskell, the layout rule.

  • Polysemy, one year later by Gautier Di Folco

    We made a number of technical and architectural decisions, and this blog post intends to discuss one of them: the adoption of polysemy.

  • Unit-aware data frames with composite, dimensional and ixset-typed by Dan Firth

    In this post we’re going to see how we can stitch together a few libraries to make a unit-aware queryable data frame from a CSV using extensible records.


  • Senior Haskell developer (ad)

    Do you want to put real climate science in the hands of the public? We are looking for more team members who wants to join us as a senior haskell developer. Let’s change the world, together!

  • Full stack functional developer (ad)

    We are growing continuously and looking for more great team members. Do you want to put real climate science in the hands of the public? Let’s change the world, together!

  • Haskell Developer at MLabs (ad)

    We are one of the leading Haskell consultancies in the fintech, blockchain and AI space, with a passion for Haskell and open source software. We are looking for a remote Haskeller to join our team. If you are excited about Haskell and are up for a new challenge, please apply here or visit our website! For any questions please email mark@mlabs.city.

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

In brief

  • A custom warning hack

    This post describes how to hackily set up a helpful warning where you normally wouldn’t get it.

  • Functional Design and Architecture: Interview with Alexander Granin by Mihaela Popa

    We recently had the chance to speak with Alexander Granin, who is a software architect, international speaker, researcher and active member of the C++ and Haskell communities about his upcoming book Functional Design and Architecture and the evolution of Haskell in the past decade.

  • New horizons by Simon Peyton Jones

    After 23 years at Microsoft Research it is time for me to move on. I shall be leaving MSR at the end of November.

Show & tell

  • Copilot 3.5 by Ivan Perez

    I’d like to announce the release of version 3.5 of Copilot, a runtime monitoring framework generates hard-realtime C99 suitable for embedded systems.

Call for participation