project-m36-0.8.1: Relational Algebra Engine

Safe HaskellNone
LanguageHaskell2010

ProjectM36.RelationalExpression

Synopsis

Documentation

mkDatabaseContextEvalState :: DatabaseContext -> DatabaseContextEvalState Source #

Used to start a fresh database state for a new database context expression.

liftE :: Monad m => m (Either a b) -> ExceptT a m b Source #

verifyGraphRefAtomExprTypes :: Relation -> GraphRefAtomExpr -> AtomType -> GraphRefRelationalExprM AtomType Source #

Validate that the type of the AtomExpr matches the expected type.

evalGraphRefAttrExpr :: GraphRefAttributeExpr -> GraphRefRelationalExprM Attribute Source #

Look up the type's name and create a new attribute.

relationVariablesAsRelation :: DatabaseContext -> TransactionGraph -> Either RelationalError Relation Source #

Return a Relation describing the relation variables.

evalRelationalExpr :: RelationalExpr -> RelationalExprM Relation Source #

An unoptimized variant of evalGraphRefRelationalExpr for testing.