| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Lsql.Csv.Core.Functions
Description
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
Syntax tree element
Syntax tree element
Constructors
| AritmeticF AritmeticF | Arithmetic function |
| AggregateF AggregateF | Aggregate function |
| LogicF LogicF | Logical function |
data AritmeticF Source #
Syntax tree element
Constructors
| 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 #
Syntax tree element
Instances
| Show Printable Source # | |
| Eq Printable Source # | |
| Ord Printable Source # | |
genStrCols :: [Printable] -> [[String]] Source #
unionAggCols :: [[Printable]] -> [Printable] Source #
eval :: SymbolMap -> Arg -> Printable Source #
Evaluates all nonagregate functions to Printable. Fails on 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 check, whether it contains aggregate function.