Issue 87

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.

Featured

  • Haskell Weekly in 2017

    Here’s a look back at Haskell Weekly in 2017, including subscriber statistics, popular links, and the first annual state of Haskell survey.

  • My stupid introduction to Haskell

    An enourmous amount of questions began to appear in my head while I read tutorials and documentation. Here I present some of the questions and the insights I got that solved them.

  • Some notes about how I write Haskell

    There’s a unifying theme to a lot of my Haskell style, and it is this: be explicit and use names.

  • Building Haskell apps with Docker

    In this blog post we will show an example of how we can use Docker to build Haskell applications which we then ship inside Docker images.

  • Shrinking Haskell Docker images using multi-stage builds

    I have recently discovered Docker’s new multi-stage build feature. This has been a great help in answering my question of how to reduce the size of my Haskell images for deploying, as the main Haskell image on Docker Hub is over 1GB before you start adding things.

  • Haskell without the theory: beginner-friendly, real-world Haskell tutorials

    As we scale-out our Haskell team at Vacation Labs, we’re faced with the challenge of on-boarding beginners and enabling them to contribute to our Haskell code-base as quickly as possible.

  • More than linked lists

    When I first glimpsed into the FP world, I recall thinking: Immutable data structures? That sounds really limiting. Then I saw the FP people talking about linked lists all the time, which only intensified that concern.

  • Haskell data types in 5 steps

    We don’t use hierarchies of objects to abstract work away. But Haskell is also heavily driven by its type system. So of course we still define our own data types in Haskell!

  • Getting started with OpenCL in Haskell

    OpenCL provides a way to interface with GPUs, CPUs, and other hardware to perform portable parallel processing. Over the last few weeks, I’ve found that Haskell has good support for OpenCL.

  • Sneaky implicit mutation

    In this short post I wanted to go through a wall I ran into (head first) and how I eventually was told how to run around it instead.

Jobs

In brief

Package of the week

This week’s package of the week is csv-conduit, a flexible, fast, Conduit-based CSV parser library.

Call for participation

Events