Issue 151

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.


  • Abstraction and Learning with Runar Bjarnason

    Runar explains how choosing the least powerful abstraction leads to better composition. He also explains his strategy for learning nonconcrete concepts like category theory and discusses his haskell inspired programming language that is rethinking how programming languages are represented.

  • A small use case for Deriving Via by Sam Tay

    I am going to show a small but pratical scenario for which DerivingVia, a language extension introduced in GHC 8.6, is a natural solution.

  • Fractals and Monads — Part 3 by Derek Wise

    Today I’ll explain a simple method to draw lots of fractal pictures with minimal code, using the idea of Kleisli powers I introduced in the previous part.

  • GHC Rebuild Times - Shake profiling by Neil Mitchell

    Shake has had profiling for years, but in the recently-released Shake 0.17.7 I’ve overhauled it. The profile report is generated as a web page, and the generated output in the new version is smaller, loads faster and is more intuitive.

  • Hakyll Pt. 5 — Generating Custom Post Filenames From a Title Slug by Robert Pearce

    Out of the box, hakyll takes filenames and dates and outputs nice routes for your webpages, but what if you want your routes to be based off of a metadata field like title?

  • Sum Types In SQL by Matt Parsons

    Most SQL databases support simple enumerations easily, but they lack the ability to talk about real sum types with fields. We can encode sum types in SQL in a few different ways, each of which has upsides and downsides.

  • Tagless Final Encoding in Haskell by Juan Pablo Royo

    In this post i am going to explore a simple technique for organizing our programs which is called Tagless Final Encoding to write testable programs in Haskell.

  • Visible dependent quantification in Haskell by Ryan Scott

    forall k -> is a visible, dependent quantifier. What exactly do those words mean? What does this let you do that you couldn’t before? Does this have any relationship with the fabled “Dependent Haskell” we’ve heard so many rumors about?

  • Write yourself a lens by Veronika Romashkina

    Recently I have been working on implementing basic lens ideas in the relude custom prelude library. The process was very valuable for me and I feel that now I understand lens concepts better when I encountered their internals.

  • Writing a lambda calculus evaluator in Haskell by Boro Sitnikovski

    This post is more focused on building the lambda calculus from scratch. It provides an interesting overview of some design decisions particularly for the lambda calculus.


In brief

Package of the week

This week’s package of the week is WAI Lambda, a library that turns any WAI webapp into a handler for AWS Lambda and API Gateway requests.

Call for participation


North America



South America