Haskell Weekly


Issue 171 2019-08-08

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.


  • Dead-simple TCP/IP services using servant by Justin Le

    Servant is usually advertised as a tool for writing web servers, web applications, and REST APIs, but it’s easily adapted to write non-web things as well. Let’s dive in and write a simple TCP/IP service (a todo list manager) to see how straightforward the process is!

  • reflex-vty by Ali Abrar

    A library for building functional reactive terminal applications.

  • Polysemy is fun! - Part 2 by Raghu Kaippully

    So far we have seen how to define an effect as a data type and how to embed such effect values in the Sem monad. But those effects were not “doing” anything. It’s all nice to have a good looking program, but what is the point if it does not do something?

  • type-sets by Sandy Maguire

    How much do you hate programming at the type level, but only being able to use lists? A million? Two million? Some mathematicians suspect that there may be even larger degrees of hate.

  • Exploring Cloud Builds in Hadrian by David Eichmann

    GHC’s new build system, Hadrian, now supports a cloud build option: --share. With that enabled, build artifacts will be cached and shared between builds.

  • HSoC — Hadrian Optimisation: Profiling and getting ahead of Shake changes (Update 5) by James Foster

    This past couple weeks I’ve fixed some documentation, submitted a bug report for –rebuild and -B doing seemingly wrong but useful things, profiled Hadrian, and opened an MR to get ahead of some Shake changes.


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

In brief

Package of the week

This week’s package of the week is monad-validate, a monad transformer for data validation. It provides the ValidateT monad transformer, which is designed for writing data validations that provide high-quality error reporting without much effort.

Call for participation


Meetup will change their API soon. As a result we decided to stop maintaining this section. Please see this issue for details: https://github.com/haskellweekly/haskellweekly.github.io/issues/272.