Newsletter
Issue 225 2020-08-20
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
-
Enhancing Functor Structures Step-By-Step (Part 1) by Justin Le
In this post we’re going to be exploring the idea of enhancing normal data types with different types of functor structures step-by-step, by starting with a simple useful structure and enhancing it piece by piece in order to reap incremental benefits.
-
Haskell mini-patterns handbook by Kowainik
This blog post contains a structured collection of some programming mini-patterns in Haskell with the detailed description and examples, some small “quality of life” improvements that would help everyone on their developer journey.
-
Haskell to Core: Understanding Haskell Features Through Their Desugaring by Vladislav Zavialov
How much Haskell is essential, and how much is sugar on top? This becomes clear if we start thinking about the way Haskell programs are desugared into GHC’s Core: a small, elegant language, used as an intermediate representation in GHC’s compilation pipeline.
-
How stylish-haskell works by Felix Mulder
I believe that one of the most important things that you can do as a developer is to make sure that the above is automated. Which leads us to one of my pet peeves: code formatting.
-
Introduction to Haskell Crash Course by Julie Moronuki
Since we had all these videos recorded, we decided to make this course permanently accessible and free to anyone interested in taking a crash course on Haskell.
-
Making full use of PureScript’s Generic type class by Harry Garrood
The goal of this post is to teach you how to write the code which permits Generic deriving for a particular type class.
-
Types as axioms, or: playing god with static types by Alexis King
You need not be limited any longer by what the designers of your programming language decided the typechecker can and cannot prove. You do not serve the typechecker; the typechecker serves you.
-
Understanding Memory Fragmentation by David Eichmann
In this blog post, we look at memory fragmentation in the Haskell heap and how it arises.
-
Whirlwind Tour Of Cabal For Beginners by School of FP
In this post, we move forward and we introduce Cabal, which is a build tool that can be described as a system for building and packaging Haskell libraries and programs.
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.
-
Novadiscovery is looking for a backend Haskell developer (ad)
At Nova we use Haskell to create and simulate mechanistic models of diseases and treatments like cellular pathways, the immune system or tumor growth among others. We are currently building Jinko, a SaaS platform, and are looking for developers passionate about Science and coding to join us.
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
Probabilistic programming with continuations by Jules Hedges
In this post I’ll explain something folkloric: that you can pretend that the continuation monad is a probability monad, and do probabilistic programming in it.
-
Switching nightlies to GHC 8.10.2 and a workaround for Windows by Alexey Zabelin
The nightly builds are now using GHC 8.10.2 which is known to be broken on Windows. This bug should be fixed in GHC 8.10.3.
Show & tell
- unicode-transforms by Harendra Kumar
This release features Unicode 13.0 normalization, but the real highlights are massive performance improvements.