Beam is a Haskell interface to relational databases. Beam uses the Haskell type system to verify that queries are type-safe before sending them to the database server. Queries are written in a straightforward, natural monadic syntax. Combinators are provided for all standard SQL92 features, and a significant subset of SQL99, SQL2003, and SQL2008 features. Beam is standards-compliant but not naive. We recognize that different database backends provide different guarantees, syntaxes, and advantages. To reflect this, Beam maintains a modular design. While the core package provides standard functionality, Beam is split up into a variety of backends which provide a means to interface Beam's data query and update DSLs with particular RDBMS backends. Backends can be written and maintained independently of this repository. For example, the beam-MySQL and beam-firebird backends are packaged independently.

Features

  • Type-safe
  • Non-TH Haskell relational database
  • Database ibrary and ORM
  • beam-core has in-depth unit tests to test query generation over an idealized ANSI SQL-compliant backend
  • Beam uses mkdocs for its documentation generation
  • Beam is standards compliant

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Beam

Beam Web Site

You Might Also Like
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Beam!

Additional Project Details

Programming Language

Haskell

Related Categories

Haskell Libraries, Haskell Object-Relational Mapping (ORM) Software

Registered

2023-04-12