What is Beam?
masterBeam is a highly-general, type-safe Haskell library for accessing relational databases. It acts as a source of truth for your database schema, marshals data between Haskell and the database, and generates SQL from Haskell expressions.
Key Features
- No Template Haskell: Beam relies entirely on the GHC type system, making types easier to infer and reason about.
- Schema Generation: Easy generation of Haskell types from existing databases.
- Migration Infrastructure: Includes
beam-migratefor managing schema versions. - SQL Support: Supports most SQL92, SQL99, and SQL2003 features (aggregations, subqueries, window functions).
- Extensible: Backends can be developed and shipped independently of the core library.
- Query Syntax: Uses a
Qmonad that feels similar to the standard list[]monad.