Haskell Weekly


Issue 117 2018-07-26

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.


  • A practical introduction to finger trees

    Finger trees are definitely the coolest data structure I was never taught in school. The gist of finger trees is that they represent sequences of elements where the elements also have a measurable “descriptor” of some kind.

  • Announcing sv 1.0

    sv, a CSV library for Haskell by the Queensland Functional Programming Lab, was released over four months ago. Since then, we’ve had feedback on what potential users want from the library, and we have altered the design to the point where we are now releasing a new version: sv 1.0.

  • Bake delicious macaroon burritos with Servant

    I’ve had the pleasure to find a team already enjoying the use of macaroons. One of my first missions was to improve how they were used to authorize API calls, in the context of Servant applications. After a few iterations, we’ve settled on a design I’m quite happy with.

  • Dependent typing and existential (de)serialization

    One of Haskell’s present limitations is the lack of dependent types, meaning that the return type of a function cannot depend on the value of its inputs. This can be a frustrating restriction when dealing with serialized data or other untyped inputs.

  • Haskell & AppVeyor Chocolatey introduction

    For those who are unaware, Windows has had quite a push lately to provide script-able ways to install packages. One such attempt that has gained quite a lot of traction is Chocolatey. Chocolatey also contains some of my own packages for installing GHC and Cabal.

  • Merge-free synchronisation with mergeless

    Synchronisation between a client and a server has been a problem that I have been brewing on in the back of my mind for a long time now. Today I am releasing a Haskell library that helps with exactly this problem.

  • Pantry, part 2: Trees and keys

    This is part two of a series of blog posts on Pantry, a new storage and download system for Haskell packages. In March of last year, there was a bug on Hackage. The problem was resolved, but this made me wonder: Is there any reason why checksums should depend on inconsequential artifacts of the tar format?

  • Smuggler: GHC source plugin to manage import section

    Hello everyone! We want to announce the first alpha version of smuggler — the compiler plugin which removes unused imports automatically. Though we’re planning to add more features to help you manage the import sections easily!

  • The problem of parsing large datasets

    In data processing, the volume of data can be so large that the amount of time it takes to process a file matters. In my work, I try to optimize such jobs so that it is more efficient, but surprisingly, it is often not the business logic that is the bottleneck, but the parsing of files itself that consumes large amounts of CPU and memory.

  • WebGL, Fragment Shader, GHCJS and reflex-dom

    On the side and very slowly I am working on a little game that involves breeding spherical patterns. I want to implement it in Haskell, but have it run in the browser, so I reached for GHCJS, the Haskell-to-JavaScript compiler.


  • Wire is hiring a Haskell developer in Berlin

    The backend team is pretty small (just four people) and recently we’ve been overwhelmed with work, which is exciting — but, admittedly, having a life is even more exciting, which is why we’re looking for: an intermediate-level Haskeller to work with us on the backend

  • Here Technologies is hiring a Haskell developer in Berlin

    We are looking for Haskell developers with an interest in testing and formal methods. The job involves further developing and making use of the quickcheck-state-machine library, to perform state machine based end-to-end testing.

  • Kadena is hiring a Haskell developer in New York

    Located in New York, Kadena is utilizing the power of blockchain, Haskell, and their own smart contract language to solve business problems. Love Haskell and love Blockchain? Helluva role for you!

In brief

Package of the week

This week’s package of the week is Slick, a static site generator written and configured using Haskell.

Call for participation