Retcon – Imposing Eventual Consistency on Disparate Data Sources
This talk is a case study in application development using Haskell.
I’ll describe retcon – a system to detect and propagate changes in data duplicated across multiple business systems. I’ll explain the business requirements which drove the project, the design of the system, and the implementation in Haskell of two versions:
- Version 1.0 was complicated, difficult to deploy, and used a number of advanced type system features to quite peculiar effect.
- Version 2.0 is simpler, more capable, easier to deploy, and doesn’t try to showcase all of the language features.
I’ll highlight some of the pitfalls I encountered over the course of the project and ways they could have been avoided.
You should enjoy this talk if you like Haskell, language feature gymnastics, or system development war stories.