Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module contains the syntactic tree definition, and helper functions for its evaluation.
Synopsis
- data Arg
- data Function
- data AritmeticF
- = Sin Arg
- | Cos Arg
- | Tan Arg
- | Asin Arg
- | Acos Arg
- | Atan Arg
- | Sinh Arg
- | Cosh Arg
- | Tanh Arg
- | Asinh Arg
- | Acosh Arg
- | Atanh Arg
- | Exp Arg
- | Sqrt Arg
- | Size Arg
- | ToString Arg
- | Append Arg Arg
- | Round Arg
- | Truncate Arg
- | Ceiling Arg
- | Floor Arg
- | MinusS Arg
- | Abs Arg
- | Signum Arg
- | Negate Arg
- | Plus Arg Arg
- | Minus Arg Arg
- | Multiply Arg Arg
- | Divide Arg Arg
- | Power Arg Arg
- | Even Arg
- | Odd Arg
- | NaturalPower Arg Arg
- | Div Arg Arg
- | Quot Arg Arg
- | Rem Arg Arg
- | Mod Arg Arg
- | Gcd Arg Arg
- | Lcm Arg Arg
- | Less Arg Arg
- | LessOrEqual Arg Arg
- | More Arg Arg
- | MoreOrEqual Arg Arg
- | Equal Arg Arg
- | NotEqual Arg Arg
- | LeftOuterJoin Arg Arg
- | In Arg Arg
- data LogicF
- data AggregateF
- data Printable
- genStrCols :: [Printable] -> [[String]]
- getCols :: [Printable] -> [Column]
- getTable :: [String] -> [Printable] -> Table
- printTable :: Table -> [Printable]
- unionAggCols :: [[Printable]] -> [Printable]
- appendArg :: Arg -> Arg -> Arg
- catterate :: [Arg] -> Arg
- eval :: SymbolMap -> Arg -> Printable
- evalAggregateFunctions :: SymbolMap -> Arg -> Arg
- containsAggregateF :: Arg -> Bool
Documentation
A syntax tree element
A syntax tree element
AritmeticF AritmeticF | An arithmetic function |
AggregateF AggregateF | An aggregate function |
LogicF LogicF | A logical function |
data AritmeticF Source #
A syntax tree element
Sin Arg | |
Cos Arg | |
Tan Arg | |
Asin Arg | |
Acos Arg | |
Atan Arg | |
Sinh Arg | |
Cosh Arg | |
Tanh Arg | |
Asinh Arg | |
Acosh Arg | |
Atanh Arg | |
Exp Arg | |
Sqrt Arg | |
Size Arg | |
ToString Arg | |
Append Arg Arg | |
Round Arg | |
Truncate Arg | |
Ceiling Arg | |
Floor Arg | |
MinusS Arg | |
Abs Arg | |
Signum Arg | |
Negate Arg | |
Plus Arg Arg | |
Minus Arg Arg | |
Multiply Arg Arg | |
Divide Arg Arg | |
Power Arg Arg | |
Even Arg | |
Odd Arg | |
NaturalPower Arg Arg | |
Div Arg Arg | |
Quot Arg Arg | |
Rem Arg Arg | |
Mod Arg Arg | |
Gcd Arg Arg | |
Lcm Arg Arg | |
Less Arg Arg | |
LessOrEqual Arg Arg | |
More Arg Arg | |
MoreOrEqual Arg Arg | |
Equal Arg Arg | |
NotEqual Arg Arg | |
LeftOuterJoin Arg Arg | |
In Arg Arg |
data AggregateF Source #
A syntax tree element
genStrCols :: [Printable] -> [[String]] Source #
unionAggCols :: [[Printable]] -> [Printable] Source #
eval :: SymbolMap -> Arg -> Printable Source #
Evaluates all nonagregate functions to Printable
. Fails on an aggregate function.
evalAggregateFunctions :: SymbolMap -> Arg -> Arg Source #
Evaluates all aggregate functions. Normal functions are not evaluated if not called under other aggregate function.
containsAggregateF :: Arg -> Bool Source #
Runs through the syntactic tree and checks, whether it contains an aggregate function.