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.

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

Featured

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

Jobs

TVision Insights seeking Software Engineer in Boston As a key member of the development team, you will be responsible for designing and implementing solutions that analyze and process large data streams and populate our columnar analytics databases in AWS.

In brief

Package of the week

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

Call for participation

Events