Issue 114

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.

Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.


  • GHC 8.6.1-alpha1 available

    The GHC development team is pleased to announce the first alpha release leading up to GHC 8.6.1. This is the first release (partially) generated using our new CI infrastructure.

  • 10 Commandments: Compiler in Haskell edition

    During the spring semester of 2018, I took a basic compilers course — our team chose to write the compiler in Haskell. This is a chronicle/post-mortem/random hodgepodge of my thoughts.

  • Contributing to GHC 4: Real issues

    Last week, we made some more complicated changes. This week, we’re going to wrap this series up by looking at some basic ways of making contributions.

  • Fast Sudoku solver in Haskell: A simple solution

    The aim of this series of posts is to write a fast Sudoku solver in Haskell, so we’ll focus on both implementing the solution and making it efficient, step-by-step, starting with a slow but simple solution in this post.

  • How I finally “cracked the nut”

    Seven years is how long it has taken me to “get” Haskell. I would like to document and share an overview of my journey in case it helps another frustrated soul.

  • Keep your laziness in check [pdf]

    We introduce StrictCheck: a property-based random testing framework for observing, specifying, and testing the strictness of Haskell functions.

  • Probability 5 ways

    Ever since the famous pearl by Erwig and Kollmansberger, probabilistic programming with monads has been an interesting and diverse area in functional programming, with many different approaches. I’m going to present five here, some of which I have not seen before.

  • Redis data modeling with rank 2 types

    What if instead of quantifying a type, we instead quantified over things quantifying over a type? This is rank 2 polymorphism. In this article, I want to demonstrate a simple use of rank 2 polymorphism to construct interesting Redis queries.

  • Stop supporting older GHCs

    I recommend cutting out support for older GHCs, updating your cabal files to reflect this decision, and keeping your CI build matrix curated appropriately.


In brief

Package of the week

This week’s package of the week is Diagrams, a full-featured framework and embedded domain-specific language for creating declarative vector graphics and animations.

Call for participation