Newsletter
Issue 299 2022-01-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
-
What skills will give you an edge in 2022? (ad)
Take the Developer Nation survey and share your views about the most important coding skills, tools, and platforms for 2022. You will get a virtual goody bag with free resources, plus a chance to win an iPhone 13, a Nintendo Switch, licenses, Amazon vouchers and more.
-
Haskell series part 9 by Pierre Guillemot
This is the ninth article of a series on the functional language Haskell for beginners. In this article we discover modules and exceptions.
-
About that Reader trick by Micah Cantor
This makes
Reader
a bad abstraction for modeling variable binding in, say, the Scheme programming language, which crucially has both of these (define
for global variables andset!
for mutation). -
Abstracting over Branch and Bound
What is the optimal Wordle strategy? We can figure this out with Branch and Bound (BnB). BnB describes a class of algorithms I hadn’t heard of for the longest time, probably because the literature tends to be really vague.
-
Beyond Typeclassopedia by Felix Springer
This article is mainly an overview and doesn’t try to explain each type class. I also want to point out some opinionated critique.
-
Enumerate Wordle combinations with an applicative functor by Mark Seemann
To be clear, this article isn’t really about Wordle strategies or tools. Rather, it’s an example of ad-hoc programming. Particularly, it’s an example of how the applicative nature of lists can be useful when you need to enumerate combinations.
-
Episode 1: Jonathan Lorimer by Cofree Coffee
In which Jonathan Lorimer discusses getting into programming as an adult, hiring a programming coach, building communities, mentorship, data vs codata, the use of philosophy in the modern world, and the importance of taking yourself seriously.
-
How Long is your List? by Jack Kelly
In Haskell, it’s often not practical or ergonomic to track exact lengths of lists at the type level. Let’s instead reflect on some ancient wisdom, and think about lists that have at {least,most} {zero,one,infinitiely many} elements.
-
Typed Template Haskell in GHC 9 by Heitor Toledo Lassarote de Paula
Today we will take a look at the changes that were made in GHC 9 regarding typed Template Haskell (TTH) and how to use the
th-compat
library to write TTH code that will work with both GHC 8 and GHC 9. -
Why Liquid Haskell Matters by Facundo Domínguez
The conjecture that I pose is that many of the properties that would usually require dependent types to ensure at compile time, can be described in Liquid Haskell specifications.
Jobs
- 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 jobs@mlabs.city.
- Haskell Software Engineer at Bitnomial (Chicago,IL,US Remote) (ad)
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
-
Haskell Official Docker Images now support arm64 by Alistair Burrowes
I am happy to announce that as of versions 8.10.7, 9.0.2 and 9.2.1 the official Debian images support arm64.
-
NixOS: The Ultimate Dev Environment? by Martin Myrseth
What got me motivated into writing this post is that once all the pieces came into place the resulting development workflow turned out to be quite amazing.
-
Transposing Rows by Monday Morning Haskell
The transpose function takes a list of lists, which we can think of as a “matrix”. Then it transposes the matrix so that the rows are now the columns.
-
Join the Scalar descendant, a 3-day conference full of programming and fun! We’re opening the event to other strongly typed languages: Java, Haskell, Kotlin, Rust and TypeScript, while Scala remains a focal point of the event & our TypeVille community. [Editor’s note: Use promo code
typeville_loves_haskellweekly
for 10% off. First come first served.]
Show & tell
-
Haskell Spotlight by Kiryl Valkovich
New browser extension to search over Hoogle and Hackage.
-
SPADE by Sandeep Chandrika
A simple weakly typed, dynamic, interpreted programming langauge and terminal IDE.
-
WebGear by Raghu Kaippully
Webgear is a framework to build HTTP APIs in Haskell. WebGear helps to run these APIs as a web application, automatically generate OpenAPI documentation, and extract other static information about the APIs in general.