Issue 300 2022-01-27
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.
Haskell series part 10 by Pierre Guillemot
This is the tenth and last article of a series on the functional language Haskell for beginners. In this article we discover data types and Maybe.
Automating Wordle by Sandy Maguire
After two days of doing it by hand, like a damn pleb, I decided it would be more fun to try to automate this game.
A case study on correctness and safety testing of stateful systems by Victor Miraldo
In this post I will present a technique to do testing using traces which can can be used with arbitrary stateful systems.
The computation of appending lists at the type and value level by Boro Sitnikovski
In this post, I will show different implementations of appending two lists together, written both in Haskell and in Idris, as well as some observations around the differences.
Databass, Part 3: Using the database by Joseph Morag
We’re going to port the professional hitmen example from William Yao’s which type-safe database library should you use blog post to Databass and see how it stacks up.
Monoids are Composable List Summarizers by Chris Smith
It goes something like this: a monoid is any way to summarize a list so that you can combine just the summaries of two lists to get a summary of their concatenation.
- 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 email@example.com.
- 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.
- Haskell Developer at Sonatype (ad)
Sonatype uses Haskell to provide turn-key static analysis tooling. Growing and 100% remote including Canada, US, UK, and Columbia, Lift’s openings include research, data science, and engineering.
Questions? Find Tom on Haskell’s discourse or twitter @MDTom.
- Make the world a better place, outside of the crypto space. Join us! (ad)
Bellroy helps people carry better. We’re Australia’s Best Place to Work, we’ve grown rapidly & we’re looking to expand our Tech Team. We’re not a software company, but software is one of our core competencies. Join us in our Melbourne office or work remotely from anywhere in the world.
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! For any questions please email me at firstname.lastname@example.org.
Trying to hire a Haskell developer? You should advertise with us!
Folding the unfoldable by Oleg Grenrus
This (just a little) tongue-in-cheek post is “inspired” by the fact that statistics package wants unboxed vectors everywhere, for “performance” reasons, and that is soooo inconvenient.
Math-y List Operations by Monday Morning Haskell
Earlier this month we explored some functions related to booleans and lists. Today we’ll consider a few simple helpers related to lists of numbers.
Nixpkgs overlays are monoids by Gabriella Gonzalez
Nixpkgs supports overriding sets of packages using overlays and these overrides bear many similarities to object-oriented inheritance.
Review: Clowns to the Left of Me, Jokers to the Right by Sandy Maguire
At a high level, CJ generalizes the results from The Derivative of a Regular Type is its Type of One-Hole Contexts, wondering about what happens to a zipper when we don’t require the elements on either side to have the same type.
Type-level DI Container prototype by Mark Seemann
People sometimes ask me how to do Dependency Injection (DI) in Functional Programming, and the short answer is that you don’t.
Show & tell
PureNix by Jonas Carpay
PureNix allows you to write that code in a fully-featured, strongly-typed language instead, and then compile to Nix.
WebAuthn server library for public key-based authentication by Silvan Mosberger
If you have a web server written in Haskell that allows users to create and log into accounts, this library might interest you, and we’d love to have feedback as we refine the interface of the library.