project-m36-0.9.8: Relational Algebra Engine
Safe HaskellSafe-Inferred
LanguageHaskell2010

ProjectM36.Shortcuts

Synopsis

Main> #a Int :: AttributeExpr

Main> #a (Attr @[Int]) :: AttributeExpr

Main> #a [1] :: AtomExpr

data HaskAtomType a where Source #

Instances

Instances details
(KnownSymbol x, Atomable a) => IsLabel x (HaskAtomType a -> AttributeExpr) Source # 
Instance details

Defined in ProjectM36.Shortcuts

Main> #a #:= true #: ( #b (f "count" [1,2]))

f :: Convertible a AtomExpr => FunctionName -> [a] -> AtomExpr Source #

class Boolean a b where Source #

Methods

(&&&) :: a -> b -> RestrictionPredicateExpr infixl 6 Source #

(|||) :: a -> b -> RestrictionPredicateExpr infixl 5 Source #

Instances

Instances details
(Convertible a RestrictionPredicateExpr, Convertible b RestrictionPredicateExpr) => Boolean a b Source # 
Instance details

Defined in ProjectM36.Shortcuts

(?=) :: Convertible a AtomExpr => AttributeName -> a -> RestrictionPredicateExpr infix 9 Source #

Orphan instances

IsList TupleExpr Source # 
Instance details

Associated Types

type Item TupleExpr #

KnownSymbol x => IsLabel x AtomExpr Source # 
Instance details

Methods

fromLabel :: AtomExpr #

KnownSymbol x => IsLabel x RelationalExpr Source # 
Instance details

KnownSymbol x => IsLabel x Text Source # 
Instance details

Methods

fromLabel :: Text #

Convertible AtomExpr AtomExpr Source # 
Instance details

Methods

safeConvert :: AtomExpr -> ConvertResult AtomExpr

Convertible AtomExpr RestrictionPredicateExpr Source # 
Instance details

Methods

safeConvert :: AtomExpr -> ConvertResult RestrictionPredicateExpr

Convertible RelVarName AtomExpr Source # 
Instance details

Methods

safeConvert :: RelVarName -> ConvertResult AtomExpr

Convertible RelVarName RelationalExpr Source # 
Instance details

Methods

safeConvert :: RelVarName -> ConvertResult RelationalExpr

Convertible RelationalExpr AtomExpr Source # 
Instance details

Methods

safeConvert :: RelationalExpr -> ConvertResult AtomExpr

Convertible RelationalExpr RestrictionPredicateExpr Source # 
Instance details

Convertible RestrictionPredicateExpr RestrictionPredicateExpr Source # 
Instance details

Atomable a => Convertible a AtomExpr Source # 
Instance details

Methods

safeConvert :: a -> ConvertResult AtomExpr

Atomable a => Convertible a RestrictionPredicateExpr Source # 
Instance details

Methods

safeConvert :: a -> ConvertResult RestrictionPredicateExpr

(KnownSymbol x, Convertible a AtomExpr) => IsLabel x ([a] -> AtomExpr) Source # 
Instance details

Methods

fromLabel :: [a] -> AtomExpr #

(Convertible a AtomExpr, KnownSymbol x) => IsLabel x (a -> ExtendTupleExpr) Source # 
Instance details

Methods

fromLabel :: a -> ExtendTupleExpr #

(Convertible a AtomExpr, KnownSymbol x) => IsLabel x (a -> (AttributeName, AtomExpr)) Source # 
Instance details

Methods

fromLabel :: a -> (AttributeName, AtomExpr) #

IsList (AttributeNamesBase ()) Source # 
Instance details

Associated Types

type Item (AttributeNamesBase ()) #

IsList (TupleExprsBase ()) Source # 
Instance details

Associated Types

type Item (TupleExprsBase ()) #