Issue 151 2019-03-21
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.
Runar explains how choosing the least powerful abstraction leads to better composition. He also explains his strategy for learning nonconcrete concepts like category theory and discusses his haskell inspired programming language that is rethinking how programming languages are represented.
A small use case for Deriving Via by Sam Tay
I am going to show a small but pratical scenario for which DerivingVia, a language extension introduced in GHC 8.6, is a natural solution.
Fractals and Monads — Part 3 by Derek Wise
Today I’ll explain a simple method to draw lots of fractal pictures with minimal code, using the idea of Kleisli powers I introduced in the previous part.
GHC Rebuild Times - Shake profiling by Neil Mitchell
Shake has had profiling for years, but in the recently-released Shake 0.17.7 I’ve overhauled it. The profile report is generated as a web page, and the generated output in the new version is smaller, loads faster and is more intuitive.
Hakyll Pt. 5 — Generating Custom Post Filenames From a Title Slug by Robert Pearce
Out of the box, hakyll takes filenames and dates and outputs nice routes for your webpages, but what if you want your routes to be based off of a metadata field like
Sum Types In SQL by Matt Parsons
Most SQL databases support simple enumerations easily, but they lack the ability to talk about real sum types with fields. We can encode sum types in SQL in a few different ways, each of which has upsides and downsides.
Tagless Final Encoding in Haskell by Juan Pablo Royo
In this post i am going to explore a simple technique for organizing our programs which is called Tagless Final Encoding to write testable programs in Haskell.
Visible dependent quantification in Haskell by Ryan Scott
forall k ->is a visible, dependent quantifier. What exactly do those words mean? What does this let you do that you couldn’t before? Does this have any relationship with the fabled “Dependent Haskell” we’ve heard so many rumors about?
Write yourself a lens by Veronika Romashkina
Recently I have been working on implementing basic lens ideas in the
reludecustom prelude library. The process was very valuable for me and I feel that now I understand lens concepts better when I encountered their internals.
Writing a lambda calculus evaluator in Haskell by Boro Sitnikovski
This post is more focused on building the lambda calculus from scratch. It provides an interesting overview of some design decisions particularly for the lambda calculus.
A London-based, cutting edge software company in the FinTech space are looking for a senior software engineer with commercial functional programming experience (Haskell preferred). The company are building complex, scalable software with the aim of disrupting and automating a heavily regulated industry in London.
- Capability is about free monads. It’s a bird… It’s a plane… It’s a free monad!
- DARPA and Galois are Building a $10 Million, Open Source, Secure Voting System
- Extending Haskell’s Syntax!
- Featured functions
- Higher-order type-level programming in Haskell
- Simon Peyton Jones chosen to lead National Centre for Computing Education
- The 5 Ts of Industrial Haskell
- Trees that Melt: Use of AVL Tree in Blockchains
- When Shouldn’t I Use Haskell?
Package of the week
This week’s package of the week is WAI Lambda, a library that turns any WAI webapp into a handler for AWS Lambda and API Gateway requests.