Newsletter
Issue 304 2022-02-24
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
-
Conditional Coding by Phil de Joux
How to avoid iffy Haskell code with cabal conditionals.
-
Announcing zephyr-copilot by Joey Hess
I recently learned about the Zephyr Project which is a rather neat embedded OS for devices too small to run Linux.
-
Haskell Database Implementation - Part 2, Domain Specific Language and Transactionality by Dan Fithian
In the last post I wrote about creating an underlying tree structure. This post is about creating a DSL and managing transactions.
-
Learning Haskell during AOC by Daniel del Castillo de la Rosa
This time I decided to give Haskell a try. I had been doing functional programming in Rust and Javascript for some time and I thought it would be a great moment to finally try the hard stuff.
-
Lenses with OverloadedRecordDot by Mike Ledger
We have a very powerful extension in
OverloadedRecordDot
. But there is a drawback. What happens to all my code that’s been usinglens
oroptics
? -
Named routes in Servant by Gaël Deest
Servant 0.19 was released earlier this month. It features a new combinator, called
NamedRoutes
, which allows you to structure your APIs with records. -
The Unreasonable Effectiveness of Haskell by Rebecca Skinner
Once you learn how to use Haskell, you start to realize that it’s an amazingly effective tool for building software.
Jobs
- Backend Developer at Holmusk (ad)
Holmusk is using Haskell to build digital health products. We are looking for remote Haskellers to join our team across Europe for now, but also in the US soon. Are you excited about using Haskell to improve the mental health of millions of people? Do you want to work alongside smart and mission-driven people across 20 countries? Please apply here or visit our website! As a Haskell Developer, you will be working within the Holmusk Product Team so you might be interested to read up on this blog too: https://holmusk.dev. For any questions please email me at adam.cooke@holmusk.com.
- 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
-
BOB 2022 will be an online conference in order to ensure the health and safety of all attendees.
-
The final Applicative episode by Type Classes
Applicative lesson 11, identity and interchange, is up! This concludes the Applicative section of Functortown.
-
Haskell in 2022 by C. L. Beard
What can we as Haskell programmers look forward to for Haskell in 2022? The language we love to use for all major programming needs is growing more in 2022.
-
Isoxya 3 deep dive: Processors by Nic Williams
This post is about Isoxya processors, which implement the data-processing logic of a crawl or scrape, customising Isoxya to a specific product or industry.
-
Taking a Byte out of Strings by Monday Morning Haskell
Earlier this week we learned about the Text type, which is a more efficient alternative to String. But there’s one more set of string-y types we need to learn about, and these are “ByteStrings”!
Show & tell
- Fresnel by Rob Rix
Fresnel offers (non-indexed) profunctor optics composed with the lowly
(.)
operator.