Issue 178
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.
Articles
-
Alternative Servant Responses by Dan Fithian
Last week I had an interesting run-in with a Servant API type. I was requesting from an API that could return two possible responses.
-
Bazel’s Persistent Worker Mode for GHC: An Industrial Internship by Artem Pelenitsyn
My internship goal was to improve the method of communication between Bazel and the Haskell GHC compiler by adding support for this persistent worker mode in rules_haskell.
-
Eventful GHC by Alp Mestanogullari
What can we do when it takes GHC a lot of time to compile a given module? Where is it spending its time?
-
Haskell on Raspberry PI 4 by Vaclav Svejcar
This time, with greatly increased available RAM size, I was able to make things working. You can find the entire process described in steps bellow.
-
Implementing a Content Security Policy in Yesod by Jezen Thomas
A CSP is just a HTTP response header, so you’d think it would be trivial to add. Unfortunately, that isn’t the case.
-
Implementing graceful-close in Haskell network library by Kazu Yamamoto
Unfortunately, most HTTP/2 server implementations do not close connections gracefully, hence browsers cannot display pages correctly in some situations.
-
Learning Haskell: A Resource Guide by Denis Oleynikov
One of the most common difficulties that all of us face when we decide to start learning something new — we just don’t know where to start and where to learn.
-
Linear Algebra of Types by Philip Zucker
It gives my brain a pleasant thrum to learn new mathematics which mimics the algebra I learned in middle school.
-
Managing GHC versions with ghcup by George Wilson
More recently I have mostly been using the ghcup tool, which lets you install and manage multiple GHC versions on most Linux distributions and macOS.
-
One plus one equals two by Boro Sitnikovski
Suppose one of your programmer friends comes to you and says: “Hey, convince me that 1 + 1 = 2!”
-
Opaque constraint synonyms by Csongor Kiss
The list of type class constraints in a function signature can sometimes get out of hand. In these situations, we can introduce a type synonym to avoid repetition.
-
Optics + Regex: Greater than the sum of their parts by Chris Penner
The library presented in this post is one of many steps towards getting everyone interested in the amazing world of Optics!
-
Inverting functions by Type Classes
Often we need a pair of conversion functions: one to encode a value as a string, and another corresponding function to decode a string back into the original type.
-
Probabilistic Programming with
monad-bayes
, Part 1: First Steps by Tweag I/OWe start this series gradually with some simple binary models, move next to linear regression, and finish by building a simple neural network that we “train” with a Metropolis-Hastings sampler.
-
Unit testing wai applications by Mark Seemann
I’m currently developing a REST API in Haskell using Servant, and I’d like to test the HTTP API as well as the functions that I use to compose it.
Jobs
- Interos- We’re Hiring!!! (ad)
Full Stack Haskell Software Engineer
Trying to hire a Haskell developer? You should advertise with us!
Packages of the week
Call for participation
Hacktoberfest starts on October 1! Browse Haskell issues on GitHub.