Newsletter
Issue 266 2021-06-03
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
-
Declaration groups: where order of declarations suddenly matters in Haskell by Artyom Kazak
Let’s say you have a few types that reference each other. Now you want to generate lenses. And suddenly you are hit with this seemingly unrelated error. What gives?
-
Final tagless encodings have little to do with typeclasses by Ben Levy
I would like to argue that what people are referring to as final tagless is in fact just coding against an interface and that the novelty of final tagless really has very little to do with abstract interfaces.
-
Getting started with Haskell projects using Scotty by Juan Pedro Villa Isaza
As part of our internal Haskell training, we use a URL shortener as a way to get started with Haskell projects and web applications in particular.
-
Phantom Types and Globbing Bugs by Patrick Brisbin
I love concrete examples that illustrate the day-to-day of the professional Haskell programmer, and show the inspiration for that entirely-untrue quip, “if it compiles, it works”.
-
Simple Haskell Handbook with Marco Sampellegrini by Haskell Weekly Podcast
Special guest Marco Sampellegrini talks with us about his recent book, The Simple Haskell Handbook. The book describes a project driven approach to Haskell development, using a continuous integration server as a motivating example.
-
Stack on Slack and ARM64 by Michael Snoyman
This blog post is covering two completely unrelated announcements about Stack that happened to land at the same time.
-
Stackage nightly snapshots to switch to GHC 9.0.1 by Chris Dornan
We have been looking for an opportunity to switch to GHC-9 on our nightly builds and have decided that GHC-9 has been out long enough and we need to get on with preparing the ecosystem for its eventual deployment as the Haskell toolchain of choice.
-
a stacker does cabal by Tony Day
I type this having deleted
./.stack
. Allstack.yaml
s have been erased,which stack
points to null. Onward we march to cabal or bust! -
The Voids Of Haskell by Alexander Granin
When it comes to the closer comparison with any other mainstream language, we see that not everything in the Haskell ecosystem is good enough.
-
Why do I think Haskell is a good choice in regards to Software Security? by Ville Tirronen
The Typeable Team appreciates security! We love Haskell, but is Haskell a good choice when secure software is the goal?
Jobs
- Haskell @ Mercury
Mercury is building a bank for startups. We’re hiring Haskell engineers (generalist and backend). Apply if you want to work with Haskell/Yesod/Persistent and React/Redux/Typescript. You can check out <www.lifeatmercury.com> (pw:
charlietuna
). Reach out to veronica@mercury.com with questions.
-
Haskell Software Engineer at Bitnomial (Chicago,IL,US Remote)
Bitnomial is looking for Haskell Software Engineers. Bitnomial is a US based, CFTC licensed and regulated bitcoin derivatives exchange, headquartered in Chicago. Bitnomial develops and operates exchange, clearing, and settlement infrastructure for physically settled bitcoin futures and options.
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
Garden thinking by Chris Martin
A stern ‘no’ isn’t entirely lost on a trainee, but it’s nothing compared to a reward. The goal as a trainer is to repeatedly elicit some desired action and then reward it.
-
Haskell Foundation May Update by Andrew Boardman
-
IHP is now affiliated with the Haskell Foundation by Marc Scholten
I’m happy to announce that IHP is now affiliated with the Haskell Foundation. This is great step to become a bit more integrated into the larger haskell ecosystem.
-
It’s not a no-op to unmask an interruptible operation
This post discusses one very subtle gotcha related to asynchronous exceptions and masking.
-
Monthly Hask Anything (June 2021)
This is your opportunity to ask any questions you feel don’t deserve their own threads, no matter how small or simple they might be!
-
Representable Functors: Practical Examples by Siddharth Bhat
To stay consistent with category theory terminology, we’re going to create a type synonym:
type Hom a b = a -> b
. Now, a functorf
is said to be representable if it is the same toHom a
for somea
. -
Understanding why foldr works on infinite list on Haskell by Alejandro Alcalde
I will try to explain what I understood in order to help others with the same question, but also to exercise my understanding and why not, for my future me.
Show & tell
-
safe-wild-cards by Artyom Kazak
I have just released a small library, safe-wild-cards, that lets us have safer wildcard matches at the cost of somewhat worse syntax.
-
tophat by James Cranch
Template-to-Haskell preprocessor and templating language