Haskell Weekly


Issue 85 2017-12-14

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.

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


  • A tour of Go in Haskell

    Welcome to a tour of Go in Haskell. This site will show how to write the concurrency section of “A Tour of Go” in Haskell. “A Tour of Go” is a famous tutorial of Go. Haskell has concurrency features similar to Go: lightweight thread, channel, etc..

  • All about strictness analysis: Part 1

    Non-strict languages like Haskell often require the programmer to reason about strictness to achieve good performance. In this post, I want to offer a surgical approach to plugging space leaks that works hand in hand with optimizations carried out by the compiler.

  • Reading simple Haskell

    This slideshow presents basic Haskell syntax and explains how to read and understand it.

  • Announcing generic-lens

    The generic-lens library provides utilities for deriving various optics for your datatypes, using GHC.Generics. In this post I’ll go over some of the features and provide examples of using them.

  • JSaddle: ArrayBuffers and notifications

    This post will demonstrate a couple of techniques for using the GHCJS helper libraries: jsaddle and jsaddle-dom to: Create an ArrayBuffer for use with WebGL, and leverage the Notification API available in some browsers.

  • Benchmarking strchr vs memchr

    There are two related C functions for finding the next character in a string: strchr which assumes the string has a NUL character at the end, and memchr which takes the string length as an argument. For strings where you have the size and a NUL terminator, which is fastest?

  • Haskell for greater Elm

    We turn our attention back to Haskell to help us get the best possible foundation for really diggin’ into functional programing. For me, only after doing piles of short examples does it sink in for me. It’s the repetition and console output that is key.

  • Haskellaus: Haskell meets Nikolaus

    The lazily evaluated FP Saint Nicholas doesn’t show up until you force him so he is a bit late, but this Friday is Haskellaus — treats for the functionally inclined. Saint Nicholas has a bag full of challenges that we will try to solve.

  • Announce: quickcheck-classes

    I’ve been working on quickcheck-classes for a while now to test type class instances in various libraries and applications. It provides property tests to check the laws for several common typeclasses in base.

  • Encoding overlapping, extensible isomorphisms

    My initial motivation for -XDerivingVia was deriving across isomorphisms. Standard type-class encodings of isos turn out to be awkward due to overlap. There may be many different witnesses to an isomorphism between two types.


In brief

Package of the week

This week’s package of the week is Brick, a declarative terminal user interface library.

Call for participation