Issue 229 2020-09-17
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.
My new book Algebra-Driven Design is now finished! by Sandy Maguire
I am thrilled to announce my new book, Algebra-Driven Design. It’s the culmination of two rewrites and a year of research, and comes with a foreword written by John Hughes, the inventor of QuickCheck. In the book, we take a fundamentally different approach to the software design process, focusing on deriving libraries from equations, algebraic manipulation and well-studied mathematical objects.
Bazel, Haskell, and Build-System Joy by Patrick Thomson
What follows is a brief overview of the Bazel experience, and the process of porting a large, multi-project repository to support either
Contravariant functors are Weird by Sanjiv Sahayam
Covariant functors (which are modelled by the
Functortypeclass) are quite straightforward but contravariant functors as their name implies seem to be the complete opposite.
Fun with Haskell by Pritesh Shrivastava
I’m roughly halfway into the book & wanted to talk about some cool Haskell features I’ve learned so far.
Improving QUIC APIs of the TLS library in Haskell by Kazu Yamamoto
This article describes how Olivier and I improved the thread-based APIs.
A “very typed” container for representing microcode by Gergő Érdi
I’ve been thinking a bit about describing microcode lately. My motivation was the Intel 8080-compatible CPU I’ve been building for my upcoming Clash book.
Trying to hire a Haskell developer? You should advertise with us!
A design for paths in Cabal by Oleg Grenrus
Where a big part of Cabal is about interpreting
your-package.cabalfile, also an important part of it and also
Agda Implementors’ Meeting XXXIII by Jesper Cockx
The thirty-third Agda Implementors’ Meeting will take place between 2020-10-12 and 2020-10-23. Everyone who uses Agda is invited to attend. Due to the current pandemic the meeting will be held online.
Aggressive refactoring by Simon Shine
Here is a small example of aggressive refactoring in Haskell.
Monadfix is collecting informal experience reports about Haskell libraries, build tools, etc, from industrial Haskell users. If you used something at work and think your experience could be useful to others, it belongs here.
My Type-Safe Blog in Haskell by Jonathan Reeve
All of this I achieve using the wonderful static site generator Rib, which built on the Haskell build tool Shake.
New Libraries Proposal Process by Daniel Cartwright
There is a new Libraries Proposal process, inspired by the GHC Proposals process.
Tensor Chain Contraction with Refolds by David Anekstein
In a previous post we utilized recursion schemes in prototyping a genetic algorithms library. I wanted to look more into their use cases and was happy to discover that they could even be leveraged for dynamic programming.
Show & tell
pretty-simple version 4.0 by Dennis Gosnell
This includes a significant rewrite to use the
prettyprinterlibrary, which has made it much easier for us to implement more flexibility in output options, and thus satisfy some long-standing feature requests.
roboservant by Mark Wotton and Samuel Schlesinger
Automatically fuzz your servant apis in a contextually-aware way.
WebGear by Raghu Kaippully
WebGear helps to build composable, extensible, and type-safe HTTP APIs. This is one of the initial releases but is fairly feature-rich already.