Haskell Weekly


Issue 182 2019-10-24

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.


  • A cheatsheet to JSON handling with Aeson by William Yao

    Fortunately, it is possible to use aeson for any complicated JSON parsing solution you need, including the ones listed above, but it can be surprisingly nonobvious how to do so.

  • Awesome Haskell articles/talks for beginners by Daniel Pfefferkorn

    A curated list of amazingly awesome Haskell articles and talks for beginners.

  • Defining functions by The Haskell Phrasebook

    Function declarations in Haskell rely less on parentheses and more on whitespace relative to many other languages.

  • Empathy and subjective experience in programming languages by Alexis King

    What is it about programming that makes us feel so strongly that we are right and others are wrong, even when our experiences contradict those of tens or hundreds of thousands of others?

  • Haskell build systems for non-Haskellers by Troels Henriksen

    The Haskell build system war seems to have quieted down a bit, with both cabal and stack seeing wide use. I have my own preference, but I feel my reasons were not represented well in the flame wars.

  • Launching Hercules CI by Domen Kožar

    We are announcing general availability of continuous integration specialized for Nix projects.

  • Software Written in Haskell: Stories of Success by Yulia Gavrilova & Gints Dreimanis

    This post is a collection of great projects written in Haskell, which unearths the benefits of Haskell that the majority knows nothing about.

  • The Syntax Cliff: Teaching syntax with Elm 0.19.1 by Evan Czaplicki

    When you start learning a programming language, how much time do you spend stuck on syntax errors? Hours? Days?


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

In brief

  • 10 Haskell Open-Source Projects by Yulia Gavrilova

    Observing Haskell open-source projects can teach you a lot about functional programming. That is why weve chosen 10 popular programs from Github written in Haskell for you to study and enjoy.

  • A guide to the PureScript numeric hierarchy by Harry Garrood

    Aims to give an introduction to the mathematics behind the numeric hierarchy of type classes in PureScripts Prelude, aimed at people who havent (necessarily) studied mathematics beyond a high-school level.

  • Caching Docker Layers on CI by Patrick Brisbin

    For as long as Ive built Docker images on CI, Ive fought the layer caching problem. Working on Haskell projects of many dependencies, an un-cached multi-stage build can take close to an hour.

  • GHCi :info command by Type Classes

    The :info command for GHCi isnt the most glamorous thing in the world, but when you need information about a named entity in Haskell, it gets the job done.

  • Ghcid for multi package projects by Jappie Klooster

    Recently I found that it is possible to use Ghcid for multi package project builds.

  • Haskell for Dummies - Lesson 2 - Basic Functions & Types by Vincent Orr

    In this lesson we go through how to write functions with types, investigating “let” & “where” clause and more.

  • Improving Rebindable Syntax by Neil Mitchell

    Rebindable syntax is powerful, but sometimes too flexible. I had some ideas on how to improve it.

  • Liquid Types vs. Floyd-Hoare Logic by Ranjit Jhala

    Several folks who are experts in the program verification literature have asked me some variant of the following question: How are Liquid/Refinement types different from Floyd-Hoare logics?

  • On Lawful Lenses by Marco Perone

    One thing that struck me while reading about lenses is the fact that functional programmers tend to consider only lawful lenses, while academics are interested more broadly in generic lenses.

  • Organizing configs by usage phase by Greg Hale

    Have you found your configuration handling begins to sprawl as you add more configuration to your program?

  • Using our brain less in refactoring Yahtzee by Tom Ellis

    Einstein said chalk is cheaper than grey matter. Can we avoid using grey matter (our brains) to remove the unused argument, instead just relying on chalk (mechanical transformations)?

  • What are product and sum types? by Eric Normand

    Product and sum types are collectively known as ‘algebraic data types’. These are two ways of putting types together to make bigger types.

  • Dhall 1.27.0

  • PureScript 0.13.4

Package of the week

This week’s package of the week is nonempty-vector, a library that provides performant non-empty mutable and immutable vectors. These vectors strive to implement the common APIs seen in vector without any additional performance cost

Call for participation

Looking for something to work on? Browse Haskell Hacktoberfest issues on GitHub.


  • Functional Conf 2019 on November 13–17 in Bengaluru

    Functional Conf is designed to bring together the growing community of functional programmers under one roof.

  • Bristol Haskell Hackathon 2020 on January 25–26 in Bristol

    The Bristol Haskell Hackathon is a two day long hackathon located in Bristol, UK. This year it is being organised for the first and probably last time!

  • Lambda Days 2020 on February 13–14 in Kraków

    For two days you are at the centre of the functional programming world. It is a place where academia meets industry, where research and practical application collide.