Issue 167 2019-07-11
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.
Haskell - An Experience Summary by Holmusk
Holmusk is a digital healthcare startup based in Singapore with a focus on mental health and chronic conditions. Approximately a year ago, we chose to begin the process of migrating our backend into Haskell. As of March 2019, Holmusk is now powered fully by Haskell and this post is a summary of our experiences so far.
Animation DSL With Effect Handlers by Ruben Pieters
In this post we will take a look at a domain-specific language (DSL) for creating interactive and composable animations. At its core, the DSL is based on an effect handler (or free monad) approach with a slight twist.
Haskell and GHC’s primitive operations by Csaba Hruska
My current adventures involve GHC primitive operations or primops in short. First of all, let’s see how GHC primops relate to the Haskell language. One might think that the Haskell language is defined by the Haskell Language Report, but that would be a false assumption.
Improvements in GHC’s testsuite infrastructure by Ben Gamari
GHC’s testsuite is our first line of defense against correctness regressions. However, as is often the case, the infrastructure that keeps it running has been long neglected.
Refine, fine, fine by Daniel J. Harvey
About a month ago I gave a talk about Refined types at a React meetup. Needless to say, it was a resounding success so I thought I would share an adapted version of the slides so that you can all learn to be as learned as me when it comes to such a topic.
Simplifying typeclasses by Daniel Smith
The current implementation of typeclasses in GHC/Haskell is quite complex, as they have a variety of different features. A small portion of these features are fundamental to typeclasses and cannot be removed, but many of these features already exist in other forms in Haskell, and those other forms should be used instead.
The surprising rigidness of higher-rank kinds by Ryan Scott
Higher-rank kinds are more rigid than higher-rank types are, and this makes them trickier to use. In this post, I will explore this claim in further detail and try to shed some light on what I believe to be a feature of GHC that has languished in obscurity.
Tracing User Requests in Yesod by Jezen Thomas
Recently I decided I want to invest in my Yesod application’s logging system. Yesod provides sane defaults for logging using the Apache style and this is enough for most applications, however in my case I had a few extra demands.
Worldwide Haskell Collaboration by Sandy Maguire
I’m in the beginning stages of planning a trip around the world. The goal is to wander from place to place, meeting cool Haskellers and collaborating together on whatever project we’re most excited about
Including but not limited to: Software Engineers/Researchers, Project Managers, Hardware Engineers, Software Integration Engineer.
We collaborate with organizations like NASA, DARPA, and AWS to explore blue sky ideas and turn them into usable technology. Some of the things we’ve worked on in the past: Formal methods, static analysis, cryptographic algorithms, abstract interpretation, type theory, formal verification, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, and statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome; see lifeatgalois.com.
Trying to hire a Haskell developer? You should advertise with us!
- Functional DevOps in a Dysfunctional World
- Google Summer of Code: Chebyshev approximations in Haskell
- HSoC — Hadrian Optimisation: Update 3
- Idris 2 pre-alpha
- Lightweight invertible enumerations in Haskell
- Multi-stage docker build of Haskell webapp
- Payment types catamorphism
- Preparing for Simulation: Player AI
- Ten years of TidalCycles
- th-test-utils v1.0.0 release: testing Quasiquoters / Template Haskell functions
- Two new Haskell Symposium papers
Package of the week
This week’s package of the week is pandoc-markdown-ghci-filter, a Pandoc filter to evaluate Haskell code in Markdown and auto-embed the output.