Please log in to watch this conference skillscast.
Chordify is a popular music education platform, with a Haskell backend that handles hundreds of requests per second. To handle these requests efficiently, Redis is used as an in-memory cache. While Redis support various types of data, its type system is much more limited than Haskell's, so to work together with typed Haskell world and to prevent runtime errors, we have built a layer of Haskell code to deal with the interaction.
In this talk we present our Haskell-Redis layer, which supports strongly typed keys and values, transactions (which coincide with the Applicative class), multiple Redis instances, and locking. What we find interesting about this layer is that our usage of Redis is quite standard, and found in many pieces of imperative software too, but the composability and abstractions in our library make it easy for the programmer to create complex and bug-free interactions, which believe to be a bit less common.
YOU MAY ALSO LIKE:
Type-safe Redis caching at Chordify
Jeroen Bransen
Jeroen has been programming since primary school, but only once he started his study Artificial Intelligence at Utrecht University, he first encountered Haskell. He then did a PhD in the area of functional programming in the Software Technology group, doing research on incremental compilation. After succesfully defending his thesis in 2015, he started working at Chordify early 2016 and has been working there since. At Chordify, Jeroen has been actively involved in the (technical side of the) growth of the company.