Haskell Weekly

Newsletter

Issue 171 2019-08-08

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.

Featured

  • 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.

Jobs

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

Events

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.