type family IsIterativeExpr e
type family IsExprSet es
-type instance IsExprSet HNil = True
-type instance IsExprSet (HCons e es) = IsExpr e :&&: IsExprSet es
+type instance IsExprSet Nil = True
+type instance IsExprSet (Cons e es) = IsExpr e :&&: IsExprSet es
type family IsCommonExprSet es
-type instance IsCommonExprSet HNil = True
-type instance IsCommonExprSet (HCons e es) = IsCommonExpr e :&&: IsCommonExprSet es
+type instance IsCommonExprSet Nil = True
+type instance IsCommonExprSet (Cons e es) = IsCommonExpr e :&&: IsCommonExprSet es
type family IsIterativeExprSet es
-type instance IsIterativeExprSet HNil = True
-type instance IsIterativeExprSet (HCons e es) = IsIterativeExpr e :&&: IsIterativeExprSet es
+type instance IsIterativeExprSet Nil = True
+type instance IsIterativeExprSet (Cons e es) = IsIterativeExpr e :&&: IsIterativeExprSet es
-- Constants and variable names
data Constant
type instance IsExpr Constant = True
type instance IsCommonExpr Constant = True
type instance IsIterativeExpr Constant = True
-type instance MentionedVars Constant = HNil
+type instance MentionedVars Constant = Nil
{- This is what we want to do but GHC can't handle this for now.
-class ( (HLengthOf str :<=: D19) ~ True
+class ( (Length str :<=: D19) ~ True
, HString str
)
=> IsVarName str
-}
type family IsVarName str
-type instance IsVarName str = ( (HLength str :>: D0)
+type instance IsVarName str = ( (Length str :>: D0)
:&&:
- (HLength str :<=: D19)
+ (Length str :<=: D19)
:&&:
- (HAll IsGoodLetterForVarNameA str)
+ (All IsGoodLetterForVarNameA str)
)
type family IsGoodLetterForVarName c
type instance IsExpr (Variable vn) = True
type instance IsCommonExpr (Variable vn) = True
type instance IsIterativeExpr (Variable vn) = True
-type instance MentionedVars (Variable vn) = vn :&: HNil
+type instance MentionedVars (Variable vn) = vn :&: Nil
type family IsVariableSet vs
-type instance IsVariableSet HNil = True
-type instance IsVariableSet (HCons v vs) = IsVarName v :&&: IsVariableSet vs
+type instance IsVariableSet Nil = True
+type instance IsVariableSet (Cons v vs) = IsVarName v :&&: IsVariableSet vs
-- Common operators
data CommonUnaryOp a
type instance IsExpr (CommonSetOp es) = IsExprSet es
type instance IsCommonExpr (CommonSetOp es) = IsCommonExprSet es
type instance IsIterativeExpr (CommonSetOp es) = IsIterativeExprSet es
-type instance MentionedVars (CommonSetOp es) = HConcat (HMap MentionedVarsA es)
+type instance MentionedVars (CommonSetOp es) = Concat (Map MentionedVarsA es)
-- TrendOp
data TrendOp vn e
type instance IsExpr CommonValue = True
type instance IsCommonExpr CommonValue = True
type instance IsIterativeExpr CommonValue = True
-type instance MentionedVars CommonValue = HNil
+type instance MentionedVars CommonValue = Nil
-- Iterative special values
data IterativeValue
type instance IsExpr IterativeValue = True
type instance IsCommonExpr IterativeValue = False
type instance IsIterativeExpr IterativeValue = True
-type instance MentionedVars IterativeValue = HNil
+type instance MentionedVars IterativeValue = Nil
-- Iterative special values of something
data IterativeValueOf vn
type instance IsExpr (IterativeValueOf vn) = IsVarName vn
type instance IsCommonExpr (IterativeValueOf vn) = False
type instance IsIterativeExpr (IterativeValueOf vn) = IsVarName vn
-type instance MentionedVars (IterativeValueOf vn) = vn :&: HNil
+type instance MentionedVars (IterativeValueOf vn) = vn :&: Nil
-- Aggregative operators (fairly restricted due to rrdtool's
-- restriction)
| LSLCorrel !(Variable vn)
deriving (Show, Eq, Ord)
-type instance MentionedVars (AggregativeUnaryOp vn) = vn :&: HNil
+type instance MentionedVars (AggregativeUnaryOp vn) = vn :&: Nil