Copyright | © Thor Michael Støre, 2015 |
---|---|
License | GPL v2 without "any later version" clause |
Maintainer | thormichael át gmail døt com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Exports the pertinent parts of HaskRel building on HList records. This gives most features of the relational algebra, relation variable support, HList CommonMain, as well as certain non-relational features such as ordering.
- module Data.HList.CommonMain
- module Database.HaskRel.Relational.Definition
- data Relvar a = Relvar {}
- relvarType :: Relvar a -> Relation a
- readRelvar :: (Ord (HList b), Read (HList (RecordValuesR b)), RecordValues b, HMapAux HList TaggedFn (RecordValuesR b) b) => Relvar b -> IO (Relation b)
- module Database.HaskRel.Relational.Expression
- module Database.HaskRel.Relational.Unicode
- module Database.HaskRel.Order
- module Database.HaskRel.Support
Documentation
module Data.HList.CommonMain
The relational model of database management: A subset thereof
Relation variable reference. This type has a phantom type variable, which generally calls for the type to be explicity specified:
s = Relvar "SuppliersPartsDB/S.rv" :: Relvar '[SNO, SName, Status, City]
relvarType :: Relvar a -> Relation a Source
Gives the type a relvar results in. Note that the value this results in will always be undefined
.
readRelvar :: (Ord (HList b), Read (HList (RecordValuesR b)), RecordValues b, HMapAux HList TaggedFn (RecordValuesR b) b) => Relvar b -> IO (Relation b) Source
Read a relation variable from the file referenced by the first argument
Non-relational features
module Database.HaskRel.Order
module Database.HaskRel.Support