Hindsight: Type-Safe Event Sourcing Documentation
Welcome to Hindsight, a type-safe event sourcing system implemented in Haskell. Hindsight provides strong compile-time guarantees for event handling, versioning, and consistency in event-driven applications with multiple storage backends.
Overview
Hindsight provides type-safe event sourcing with:
Compile-time event versioning and automatic upgrades
Multiple storage backends (Memory, Filesystem, PostgreSQL)
Backend-agnostic projections for building read models
Real-time event subscriptions with pattern matching
All with strong event ordering guarantees, multi-stream consistency features and a polished API.
Hindsight is currently experimental, and bugs are to be expected. Bug reports, critics, suggestions are all welcome on our issue tracker.
Quick Start
Learning: Check out the Tutorials for a step-by-step introduction. Visit the Hindsight example repository for a quick demonstration.
Using Hindsight in my project: See Installation.
Contributing: For development setup, see Development Guide.
Documentation Contents
Getting Started
Tutorials
API Reference
Development