Caches come in all sorts of shapes and sizes. They appear in lots of layers, from low-level backend services, to fetched assets in the frontend, and anywhere in between. Especially in larger organizations, they are often extremely application-specific, which results in programmers throwing something together in a bunch of places.
In this talk, I'll talk about in-memory caching in Haskell. We will focus on the psqueues library, and we will talk about some of the interesting algorithms powering it. Then, we'll see how we can use this data structure to build a number of custom caches, from simple ones we can use in pure code to fast concurrent ones.
There should be something in this talk for everyone, both beginners and people who have a bit more experience with Haskell.