API Reference๏ƒ

Hindsight provides comprehensive API documentation through Haddock, Haskellโ€™s standard documentation tool.

Package Documentation๏ƒ

Hindsight is organized into focused packages with clean dependency boundaries:

Core Library

๐Ÿ“š hindsight-core - Type-safe event system with versioning

Testing Libraries (in hindsight-core)

๐Ÿ“š event-testing - Test utilities for event generation

๐Ÿ“š store-testing - Store testing utilities and property tests

Storage Backends

๐Ÿ“š hindsight-memory-store - In-memory event store (testing/development)

๐Ÿ“š hindsight-filesystem-store - File-based event persistence

๐Ÿ“š hindsight-postgresql-store - PostgreSQL event store

Projection System

๐Ÿ“š hindsight-postgresql-projections - Backend-agnostic projection system

Generating API Documentation๏ƒ

The Haddock documentation is automatically generated for all packages when building the documentation:

# Build complete documentation (includes Haddock for all packages)
cd docs
make html

# For faster builds (reuses cached Haddock)
make html-no-haddock

# Open the documentation
open build/html/index.html

You can also generate Haddock directly without Sphinx:

# Generate Haddock for all packages
cabal haddock all --haddock-hyperlink-source --haddock-quickjump

# Generate Haddock for a specific package
cabal haddock hindsight --haddock-hyperlink-source --haddock-quickjump