Issue 100
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.
Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.
Featured
-
You may be wondering why am I using the phrase “building blocks”, it’s because, to me, this really feels like putting blocks together and sometimes dismantling them.
-
The question of “How do I design my application in Haskell?” comes up a lot. There’s a bunch of perspectives and choices, so it makes sense that it’s difficult to choose just one.
-
Generate type safe APIs with Fluid
Fluid is a web API generator. It offers far more than type safety, and its goals aren’t limited to Haskell. First, let’s dive into a Hello World and see how it works.
-
Neil Mitchell, Simon Peyton Jones and I have just finished a paper describing a systematic and executable framework for developing and comparing build systems. In this blog post I would like to share one interesting abstraction that we came up with to describe build tasks.
-
Applied category theory: Online course
It just became a lot easier to learn about applied category theory, thanks to this free book. I think I’ll start a kind of informal online course or seminar based on this book on the Azimuth Forum.
-
One of the simplest, and easiest to understand, functors is
Maybe
. It’s also sometimes known as theMaybe
monad, but this is not a monad tutorial; it’s a functor tutorial.Maybe
is many things; one of them is a functor. -
Lenses are one of the most popular, yet confusing aspect of Haskell. To be fair, I could never really understand how they work. This series of posts is going to be my attempt to understand lenses, the ideas and implementation details, and also the
lens
package. -
Up to this point, we’ve been covering a subset of the Haskell language which would look unusual to an experienced Haskell programmer. In our quest to make side-effects, we’ve skipped over a lot of useful functionality which makes programming in Haskell more pleasant.
-
An old and a new library for generic deriving
In this post, I want to talk about how it takes advantage of existing infrastructure in the
GHC.Generics
module to condense some of these generic implementations to one-liners. -
sv
: Introduction, status, and road mapsv
is QFPL’s new CSV library for Haskell. The core data structure ofsv
is a syntax tree for CSV that preserves white-space, quoting information, newline style, and other data that is usually thrown away.
Jobs
-
Software engineer at Capital Match in Singapore
Our platform, built almost entirely from Haskell, is the largest marketplace invoice financing platform in South-East Asia, having processed more than US$50 million in funding over the past two years. We’re currently expanding into new markets and new territories, and we’re looking to expand our team!
-
Software engineer at Tweag I/O
We have found functional programming in particular to be an enabling factor for us on some of the most ambitious projects we’ve faced for our clients: breaking through the exascale barrier in HPC, modeling a large variety of physiological processes in the human body, designing pipelines for storing and analyzing biophysical data, video search with natural language, building complex SaaS products with thousands of concurrent users and many others.
-
We are looking for a Haskell expert to join our team at Well-Typed. This is a great opportunity for someone who is passionate about Haskell and who is keen to improve and promote Haskell in a professional context.
-
Software developer at Obsidian Systems in New York City
Obsidian Systems is looking for developers to work on full-stack Haskell web and mobile applications. We’re an 18-person team with a wide range of clients including seed-stage startups, multinational corporations, universities, and research groups. We provide innovative and robust technical solutions in support of our clients’ unique goals and challenges.
In brief
- Achromatic lens
- Adding package lower bounds
- Functional Geekery episode 121: Claudia Doppioslash
- LambdaConf Haskell Hackathon 2018
- Type-level unit testing in Haskell
Package of the week
This week’s package of the week is Herm’s, a command-line manager for delicious kitchen recipes.
Call for participation
- haddock: Quickjump menu should be reset/emptied upon close.
- miso: Use jsverify on tests
- stack: Warn when upgrading base
Events
- March 29: Interactive data exploration using Jupyter, Haskell and Nix in Zürich, Switzerland
- April 2: Pearls of Functional Algorithm Design in Portland, Oregon, United States
- April 3: Haskell Beginner-Friendly Lab in Austin, Texas, United States
- April 4: Haskell Learners’ Group in Seattle, Washington, United States
- April 5: April Meetup in Singapore
- April 10: Haskell Hangout: Getting Started with Yesod and Haskell Web Development in San Diego, California, United States