Issue 90
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? Open an issue or pull request on GitHub.
Featured
-
Dynamic test suites in Haskell using Hspec and Tasty
In this video I’ll demonstrate how to create a dynamic test suite based on examples in an external CSV file. The tests can be run individually using Tasty patterns. It is easy to add new examples to the CSV, and the Haskell test code doesn’t even need recompilation.
-
Packcheck: Universal build and CI for Haskell packages
Packcheck is a minimal yet complete “hello world” Haskell package with model Travis and AppVeyor config files that can be used unmodified in any Haskell package. The CI configs can be modified declaratively to adapt to any kind of build scenario you can imagine.
-
Rio: A standard library for Haskell
The goal of the Rio library is to make it easier to adopt Haskell for writing production software. It is intended as a cross between: a collection of well designed, trusted libraries; a useful Prelude replacement; and a set of best practices for writing production quality Haskell code.
-
Reducing GHC’s noise: Hiding source and object paths
GHC 8.2 includes a new
-fhide-source-paths
command-line flag that can be used to reduce line noise. -
Functional programming languages and the pursuit of laziness with Dr. Simon Peyton Jones
When we look at a skyscraper or a suspension bridge, a simple search engine box on a screen looks tiny by comparison. But Dr. Simon Peyton Jones would like to remind us that computer programs, with hundreds of millions of lines of code, are actually among the largest structures human beings have ever built.
-
Drinkery: The boozy streaming library
In the ecosystem of Haskell, a number of stream processing libraries has been made. The very purpose is to process a sequence of values with effects, in a composable manner. Still, I was not satisfied with the sets of features of the existing packages. Accordingly, I decided to make a new one. It’s called Drinkery.
-
Today, I’m going to talk about how to interact with AWS EC2 using the
amazonka
andamazonka-ec2
packages. EC2, like Lambda, is a more involved service than some of the others. -
Talk: Building Android apps with Haskell
At the Haskell.SG January meetup I presented building Android apps with Haskell yesterday. As we have recordings set up for a while now, you can follow it below.
-
Minor improvement to
yesod-forms
: A Stack Builders open source updateOpen source is the cornerstone of our consulting work, and we consider it one of our responsibilities to contribute back to the community that we depend on. We are proud to share some of the open source contributions that we developed recently.
-
Flux is an ongoing project to visualize Haskell programs as data-flow diagrams. Its main goal is to improve program understanding and support functional programmers in various development activities.
Jobs
-
Zalando seeking Backend Engineer in Berlin
We are building applications and services that connect fashion merchants with Zalando customers. We solve hard architectural and algorithmic problems. We set ambitious availability, throughput, latency and reliability goals. We value the quality of our designs and the cleanliness of our code.
In brief
- Applicative functors and data validation: Part 2
- Be cautious of upper/lower case letters about function in Haskell
- Haskell Implementors’ Workshop 2017
- LambdaConf 2018: Call for proposals
- Need to be faster? Be lazy!
- Upcoming Yesod breaking changes
- Versioning of libraries bundled with GHC pre-releases
- Why is
Option
a better monoid forMaybe
?
Package of the week
This week’s package of the week is Taskell, a command-line Kanban board/task manager.
Call for participation
- brittany: end of line comment moves to next guard
- hadolint: Warn on bad COPY last argument
- Idris-dev: Library names in package files may not contain hyphens
- stack: Using environment variables in
stack.yaml
Events
- January 18: Utah Haskell: Assembler walkthrough by Ryan Moore
- January 20: Seattle area Haskell users’ group: General discussion
- January 22: Frankfurt Haskell user group: Shake it so you don’t have to make it
- January 23: DelhiNCR Haskell and functional programming languages group: FPNCR January 2018 meetup
- January 24: Functional Tricity: Welcome 2018
- January 25: Melbourne Haskell users group: Meetup