Newsletter
Issue 196 2020-01-30
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
-
Haskell Problems For a New Decade by Stephen Diehl
The problems we work on in the present are those that shape the future, and often the choice of problems is what matters more than anything else.
-
One Haskell IDE to rule them all by Neil Mitchell
The Haskell IDE Engine and Ghcide teams are joining forces on a single IDE.
-
Policeman in da Bristol city by Kowainik
There is a need to automate this process and that is why we have created policeman — your versioning guard.
-
Folding lists by Type Classes
The functions
foldr
,foldMap
, andfold
are convenient ways to combine all of the elements of a list. -
Hpack: A Simpler Package Format by Monday Morning Haskell
But
.cabal
files have some weaknesses, as we’ll explore. Luckily, there’s another tool out there called Hpack. -
Help! My Haskell program consumes more memory the longer it runs by Jacob Stanley
You look at the offending code and you’re updating a few maps but there doesn’t seem to be anything going on that would use a lot of memory.
-
Case study: migrating from lens to optics by Oleg Grenrus
Some time ago I commented on Reddit, that there are no real experience reports about migrating “real world Haskell codebases” from
lens
tooptics
. So I decided to do an experiment. -
Property testing in depth: The size parameter by Tom Sydney Kerckhove
This post explains the size parameter of a property testing generator, and expands on its tradeoffs.
-
vmap in Haskell by Edward Z. Yang
Semantically, a vmap is exactly equivalent to a map in Haskell; the key difference is that operations run under a vmap are vectorized.
-
Transformations on Applicative Concurrent Computations by Román González
In this blog post, we will discuss some of the drawbacks of using the
Concurrently
type when composing sub-routines.
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
-
GHC 8.10.1-rc1 now available by Ben Gamari
The GHC team is happy to announce the availability of the first release candidate of GHC 8.10.1.
-
3 packages you need to know about before processing timestamps in Haskell by Jacob Stanley
Need to manipulate events in CSV or log files? Your choice of time library could be slowing you down.
-
5 tips for better Hedgehog tests by Jacob Stanley
Have some Hedgehog tests to write? Here’s five useful features you may not know about!
-
Announcing arduino-copilot by Joey Hess
arduino-copilot, released today, makes it easy to use Haskell to program an Arduino.
-
Developing GHC for a Living: Interview with Vladislav Zavialov by Denis Oleynikov
What follows is a small dive into the thoughts and opinions of a randomly sampled GHC contributor, i.e. me :-)
-
Haskell In Production: CentralApp by Gints Dreimanis
We got the opportunity to interview Ashesh Ambasta from CentralApp, a tool that enables you to manage your company’s visibility on the Internet: website, reviews, social media, and search engines.
-
Profunctor Optics: The Categorical View by Emily Pillmore & Mario Román
More recently, Milewski explained the profunctor formulation of these optics in terms of Tambara modules: profunctors endowed with additional structure that makes it interplay nicely with a monoidal action.
-
Terminating Tricky Traversals by Donnacha Oisín Kidney
I’m going to look at a couple of algorithms for breadth-first traversals with complex termination proofs.
Show & tell
- cmt: Write consistent git commit messages based on a custom template
- DevContainer for HIE
- Dunai: Generalised reactive framework supporting classic, arrowized and monadic FRP
- exceptionfree-readfile: An exception-free
readFile
for use with+RTS -xc -RTS
- monadoptics: Profunctor optics for the endofunctor category on Hask
- moto: General purpose migrations library
- mutable: Automatic piecewise-mutable references for your types
- n-ary-functor: An n-ary version of
Functor
- nix-freeze-tree: Convert a tree of files into fixed-output derivations
- pprecord: A library for pretty printing Records