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
-
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.
-
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.
-
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.
-
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
-
Capital Match is seeking a Software Engineer in Singapore
We are looking for experienced developers to lead our tech growth in the Fintech space, expand into surrounding countries and develop new products on the platform.
In brief
- AWS via Haskell part 1: DynamoDB
- Dropped packages following LTS 10
- Functor optics
- Introduction to singletons: Part 1
- Summer of Haskell: Call for ideas for 2018
- Template Haskell tutorial
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
- extensible-effects: Remove usage of deprecated
OverlappingInstances
- ghcid: Add timestamp to “All good” message
- stack:
stack setup --verbose
should also cause verbose output of GHC configure process if possible
Events
- December 28: Las Vegas Functional Programming User Group: Functional Programming Meetup
- January 1: Orange Combinator: Combinating
- January 2: Austin Haskell Users Group: Haskell Beginner-Friendly Lab
- January 3: Haskell DC: Web Application Development with Yesod
- January 4: Papers We Love San Diego: Monads for Functional Programming