narc

Query SQL databases using Nested Relational Calculus embedded in Haskell.

http://ezrakilty.net/projects/narc

Latest on Hackage:0.1.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Ezra e. k. Cooper
Maintained by [email protected]

Narc is an embedded language for querying SQL databases, which permits using the ``nested relational'' model, a more flexible model than the traditional relational model of SQL databases. In spite of this richer data model, queries are transformed into SQL to run against standard databases.

To use the language, express a query using the combinators like foreach, table, having, singleton and so on. Wrap this in a call to narcToSQLString to get a string that can be sent to a SQL database.

To send a query directly to an HDBC connection, import the module Database.Narc.HDBC and use its run function, passing it an HDBC connection and a Narc query. The result is an IO action that returns a 2-D list of result values in HDBC's usual format.