Newsletter
Issue 197 2020-02-06
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.
Featured
-
Building constant-time constant-memory programs for your Arduino with CoPilot by Wander Hillen
One such tool is CoPilot, a Haskell DSL that compiles down to C code that is guarantueed to run in constant time and constant memory.
-
Coding in Haskell: a new adventure by Gideon Farrell
Writing an exciting new project in Haskell made me think it would be quite fun to document the process of learning to make something real-ish in a completely new language.
-
How to use Hedgehog to test a real world, large scale, stateful app by Jacob Stanley
You know how to test a circular buffer. But how do you use QuickCheck with a database?
-
Locating Performance Bottlenecks in Large Haskell codebases by Juan Raphael Diaz Simões
Once they were located, we were able to address them and eventually obtain a speed-up of two orders of magnitude.
-
Mirror Mirror: Reflection and Encoding Via by Matt Parsons
This post is about reflection, reification, and (to get to the pragmatism) the use of the new
DerivingVia
mechanism to provide awesome codecs. -
Nix: Functional Package Management! by Monday Morning Haskell
So in this article, we’re going to discuss the basics features of Nix. It has a few particular advantages due to its functional nature.
-
A Pythonista’s Review of Haskell by Ying Wang
Here’s some of the things that I, as a software engineer who has used Python in production and Haskell doing book exercises only, liked and didn’t like about Haskell.
-
Setting up a Haskell development environment in minutes in Visual Studio Code by Igal Tabachnik
This was initially a long post, detailing all the manual steps required to set up a complete Haskell development environment, however this process is now fully automated, allowing you to get started in minutes.
-
Trying to compose non-composable: lift everything! by Murat Kasimov
According to Stephen Diehl, algebraic effects are one of the most important problems that will be solved in the future for Haskell and I would like to make my modest contribution.
-
Why Monad Composes Operations Sequentially by Riccardo Odone
I’ve been in the dark for a long time, until a few days ago it clicked. So here I am, writing the post my past self would have loved to read.
Jobs
-
Interos is Hiring Full Stack Haskell Software Engineers (ad)
At Interos, we are disrupting the way Fortune 500 companies and government agencies identify and respond to risk within their supply chains. We deliver the data and insights to business leaders that help them identify, visualize and understand the ripple effects that could impact their supply chains, before they happen. Recently funded by Kleiner Perkins and pivoting to an automated solution, Interos is in essence, a start-up SaaS environment.
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
arduino-copilot one week along by Joey Hess
My framework for programming Arduinos in Haskell in FRP-style is a week old, and it’s grown up a lot.
-
Destroying C with 20 lines of Haskell: wc by Georg Rudoy
Today we’ll look at implementing a toy
wc
command that is about 4-5 times faster than the corresponding GNU Coreutils implementation. -
Discontinuing legacy snapshots by Michael Snoyman
As we mentioned at announcement, though, we wouldn’t be continuing that conversion indefinitely. Today, we’re announcing that within the next two weeks (likely sooner), we’ll be turning off that job.
-
Gain confidence with Haskell’s type system! by Brandon
In this post, I’ll be going over what type systems are, what makes them really powerful tools for developers, and how Haskell’s type system gives me more confidence in my code than if I were using a different language.
-
Haskell library for the GitLab API by Rob Stewart
The
gitlab-haskell
library lifts the GitLab API into Haskell. -
How to sort a stack using one additional stack by Jim Fisher
With this Turing-machine model of memory, how do do you sort the values in memory?
-
Intro to Kaleidoscopes: Optics for aggregating data through Applicatives by Chris Penner
From a bird’s eye view I’d say that kaleidoscopes allow you to perform aggregations, comparisons, and manipulations over different groupings of focuses.
-
Introducing Mu-Haskell v0.1 by Flavio Corpa
At 47 Degrees, we have been working for quite some time on Mu, a library to develop microservices with the smallest amount of work possible.
-
A report on
stack script
: the how and why… by Adam WespiserIf you share small, single module, self contained haskell examples,
stack script
gives us an easy way to get reproducible builds.
Show & tell
- brök: Find broken links in text documents by Mark Wales
- first-class-instances: First class typeclass instances by Matej Nižník
- ghcide version 0.1.0 by Moritz Kiefer
- humble-prelude: Redefinition-free prelude alternative by Fumiaki Kinoshita
- lens-csv: Streaming, traversable CSV parsing by Chris Penner
- provenience: Computations that automatically track data dependencies by Olaf Klinke
- vector version 0.12.1.1 by Carter Schonwald