Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- AST1
- data ColExpression = ColE ColName [OperationExpression]
- data BoolExpression = BECol ColExpression
- data BoolExpression
- = BEAnd [BoolExpression]
- | BEOr [BoolExpression]
- | BENot BoolExpression
- | BECol ColExpression
- -- AST2
- data ColExpressionAnnotated = ColEA ColInfo ColExpression
- data BoolExpressionAnnotated
- = BEAnd [BoolExpressionAnnotated]
- | BEOr [BoolExpressionAnnotated]
- | BENot (BoolExpressionAnnotated)
- | BECol ColExpressionAnnotated
- addAnnotation :: BoolExpression -> BoolExpressionAnnotated
- -- Parametrised
- data BoolExpressionG a
- = BEAnd [BoolExpression a]
- | BEOr [BoolExpression a]
- | BENot (BoolExpression a)
- | BECol a
- type BoolExpression = BoolExpressionG ColExpression
- type BoolExpressionAnnotated = BoolExpressionG ColExpressionAnnotated
- -- Traversable
- data BoolExpressionG a
- = BEAnd [BoolExpression a]
- | BEOr [BoolExpression a]
- | BENot (BoolExpression a)
- | BECol a
- derive (Traversable)
- type BoolExpression = BoolExpressionG ColExpression
- type BoolExpressionAnnotated = BoolExpressionG ColExpressionAnnotated
- traverse
- :: (Applicative f, Traversable t) => (a -> f b) -> t a -> f (t b)
- addAnnotationToCol :: ColExpression -> Either Error ColExpressionAnnotated
- addAnnotationToCol :: (Applicative f) => a -> f b
- addAnnotation = traverse addAnnotationToCol
Add Comment
Please, Sign In to add comment