Issue 211 2020-05-14
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.
Weekly News for Busy Devs by Jakub Chodounsky (ad)
Programming Digest is a weekly curated newsletter with the five most interesting stories in programming, data, and tech.
The doomsday machine by Clément Delafargue
Ah, the do-notation. Is it good, is it bad; who knows? It’s good for beginners, it’s bad for beginners. It’s considered harmful.
Extensions by Kowainik
The write up provides the rough description of Extensions Technique in the Haskell compiler, therefore, is suitable for everyone even without any prior knowledge of that term.
Learning Haskell: Getting Started by Grant Leadbetter
Join me in the next part of Learning Haskell where we learn about Arithmetic, Functions, Lazy Evaluation and more.
Micro C, Part 4: Integrating the LLVM FFI by Joseph Morag
Here, we’ll get a taste of how to use the ffi bindings in llvm-hs to do the same thing and also to perform stricter checks on our generated llvm code.
Option parsing in Haskell, Part 2: A standard approach to settings in Haskell by Tom Sydney Kerckhove
That post describes how settings should be handled. This post will describe how to do that in Haskell in practice.
On PVP + Restrictive Bounds by Matt Parsons
The following discussion occured on the FPChat Slack. It was pasted into a gist by Emily Pillmore.
Reanimate: Swearing at bad documentation by William Yao
Reanimate’s a fairly recent addition to the Haskell ecosystem and I haven’t seen a lot of discussion about actually using it, so I’d like to chime in with my own experiences with the library.
Sockets and Pipes by Type Classes
Using a handful of everyday Haskell libraries, this book walks through reading the HTTP specification and implementing it to create a web server.
The State of Haskell IDEs by Luke Lau
As many might be aware, the past year has seen a number of significant changes to the ecosystem, with one of the most noticeable ones being the marriage of ghcide and haskell-ide-engine.
- 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!
Here are two views I haven’t seen discussed before.
Blackjack: Following the Patterns by Monday Morning Haskell
So this week, we’re going to make another small example game. This time, we’ll play Blackjack.
Flunking the Coding Interview by Maxfield Chen
Choose the wrong algorithm and still pass your coding interview.
It is about the Haskell language, of course. Haskell Love Conference is the biggest λ online event in the world.
Hereditary substitutions by Henri Tuhola
Aside Normalization-by-evaluation I told you about few blog posts ago, there’s an another neat way to normalize expressions.
This is a response to Hierarchical Free Monads: The Most Developed Approach In Haskell.
Interview about Composition in Blockchain Implementations by Duncan Coutts and Edsko de Vries
Well-Typed’s Edsko and Duncan were recently interviewed by Anthony Quinn for the IOHK blog on the work they are doing on the Cardano blockchain project.
Match URI templates with Burrito by Taylor Fausak
I’m happy to announce that version 188.8.131.52 of Burrito, my URI template library for Haskell, can now perform this matching operation!
overloaded-0.2.1: Overloaded:Unit by Oleg Grenrus
The Overloaded:Unit is the third and the last of the new features of recent overloaded 0.2.1 release.
Types vs. datatypes vs. typeclasses in Haskell by Jesse Evers
There are three consecutive chapters in HPFP named Datatypes, Types, and Typeclasses. Those all sound very similar — in this article, I attempt to explain the differences between them.
Why I use typed functional programming by Luiz Sol
Functional programming languages and architectures provides many features that offer, in my opinion, more benefits than disadvantages when compared to their imperative counterparts.
Show & tell
it-has by Dobromir Nikolov
A Generic implementation of data-has.
knit by Philip Kamenarsky
Ties the knot on data structures that reference each other by unique keys.
shake-plus by Daniel Firth
Re-export of Shake using well-typed paths and ReaderT.