Issue 280 2021-09-09
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.
If you’re ready to take your Haskell skills to the next level and you still haven’t made plans, register now to join us on September 10th.
An Introduction to Type Level Programming by Rebecca Skinner
In this article you’ll learn how to build programs that make heavy use of type-level programming by working through building a theming system.
Family Values by Matt Parsons
I wrote a big thread on the company Slack to compare type families: open vs closed vs associated. I also ended up discussing data families, as well, since they are a good complement to type families.
How Dependent Haskell Can Improve Industry Projects by Danya Rogozin & Vladislav Zavialov
In this post, we show that Dependent Haskell can be used to simplify and improve the code in a large production codebase.
Laziness: Clojure vs Haskell by Gary Verhaegen
In Haskell, on the other hand, laziness means that the elements of a list will be computed on demand, but that only applies to pure computation.
In this part of the blog series, we will examine heterogeneous equality, a more exotic form of equality where the type arguments are allowed to have different kinds.
Mutating Lenses by Cyril Fahlenbock
I will be sad about the state of mutable Haskell for a bit. Then we will figure out how to mix lenses with mutable state. And learn that the real mutable borrows were the pure values that we made along the way, kind of.
I’m going to demonstrate how to wrangle Alex and Happy to implement a parser for a simple language with the same indentation sensitive parsing behaviour as Haskell, the layout rule.
Polysemy, one year later by Gautier Di Folco
We made a number of technical and architectural decisions, and this blog post intends to discuss one of them: the adoption of polysemy.
In this post we’re going to see how we can stitch together a few libraries to make a unit-aware queryable data frame from a CSV using extensible records.
- Senior Haskell developer (ad)
Do you want to put real climate science in the hands of the public? We are looking for more team members who wants to join us as a senior haskell developer. Let’s change the world, together!
- Full stack functional developer (ad)
We are growing continuously and looking for more great team members. Do you want to put real climate science in the hands of the public? Let’s change the world, together!
- Haskell Developer at MLabs (ad)
We are one of the leading Haskell consultancies in the fintech, blockchain and AI space, with a passion for Haskell and open source software. We are looking for a remote Haskeller to join our team. If you are excited about Haskell and are up for a new challenge, please apply here or visit our website! For any questions please email firstname.lastname@example.org.
Trying to hire a Haskell developer? You should advertise with us!
This post describes how to hackily set up a helpful warning where you normally wouldn’t get it.
We recently had the chance to speak with Alexander Granin, who is a software architect, international speaker, researcher and active member of the C++ and Haskell communities about his upcoming book Functional Design and Architecture and the evolution of Haskell in the past decade.
New horizons by Simon Peyton Jones
After 23 years at Microsoft Research it is time for me to move on. I shall be leaving MSR at the end of November.
Show & tell
- Copilot 3.5 by Ivan Perez
I’d like to announce the release of version 3.5 of Copilot, a runtime monitoring framework generates hard-realtime C99 suitable for embedded systems.