Haskell Weekly


Issue 131 2018-11-01

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.


We are excited to announce the 2018 state of Haskell survey together with Haskell.org! This is the second annual survey. It will be open from November 1st through the 15th. If you’re reading this, we want to hear from you! Please take a few minutes to fill out the survey. Thanks!


  • Writing a screencast video editor in Haskell by Oskar Wickström

    For the last six months I’ve been working on a screencast video editor called Komposition. This is an experience report that’ll give an overview of Komposition’s design, implementation, testing, and planned future work.

  • God’s programming language: An interview with Philip Wadler by Adam Gordon Bell

    Wadler believes that typed lambda calculus was discovered not invented — part of the underpinnings of the universe itself.

  • Wise Man’s Haskell by Andre Popovitch

    I wrote this book because all the other good Haskell tutorials either cost money or were too verbose. Hopefully, this will be better than ones that came before it, too.

  • Creating a card game in Haskell: Part 4 by Valentin Robert

    This raises an annoying problem for our Move data type: there are now moves that can happen in different phases. It would be convenient to have these all live in the same data type, but it’s annoying to handle the moves that don’t make sense for a given phase.

  • Intro to Template Haskell by Type Classes

    Rather than write a big overview of Template Haskell, I’m starting from a narrow use case: Making constant expressions evaluate during compilation.

  • Introduction to state machine testing: Part 1 by Andrew McMiddlin

    Yes, each function must work as expected, but the system formed through composition of these functions must also be tested to ensure that our system does the right thing.

  • Cursors, part 1: Introduction with the list cursor by Tom Sydney Kerckhove

    This is the first post in a series about cursors. It explores the motivation behind cursors and uses the list cursor as an example.

  • Major releases of fltkhs-themes and fltkhs by Aditya Siram

    Hopefully these releases help you make Haskell native GUI apps that are fast, portable, easy to install/deploy, and nice looking!

  • Generics for GADTs and arbitrary kinds by Alejandro Serrano

    We have just published a first version of kind-generics, an extension of the GHC data type generic techniques which supports GADTs and describing types with kinds different from * and * -> *.

  • Announcing Variant and EADT 2.0 by Sylvain Henry

    A short post to announce that I have just released version 2.0.1 of my haskus-utils-variant package (containing Variant and EADT).


  • Haskell developer at CollegeVine in Cambridge

    CollegeVine is looking for a product-focused full-stack developer to help engineer the future of guidance, mentorship, and higher education attainment.

  • Looking for a technical writer

    I’m looking for a freelance technical writer for Arrow! Our documentation website is around 66% complete, and we could use some help filling in the rest.

In brief

Package of the week

This week’s package of the week is fused-effects, a fast, flexible, fused effect system.

Call for participation