X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Database%2FRRDtool%2FExpression.hs;h=ec5b23adc20b6fab4c1f280edfa02dd828219957;hb=57b97113a93d366f14278a12b8170a1c06e258a1;hp=669acbca32adffa985f93c652b4e60cc5823f39e;hpb=a584a7c4d5ff7e6651f41070b0d2d5032d49b0dd;p=hs-rrdtool.git diff --git a/Database/RRDtool/Expression.hs b/Database/RRDtool/Expression.hs index 669acbc..ec5b23a 100644 --- a/Database/RRDtool/Expression.hs +++ b/Database/RRDtool/Expression.hs @@ -11,7 +11,7 @@ module Database.RRDtool.Expression , IsCommonExprSet , Constant(..) - , IsVarName(..) + , IsVarName , Variable(..) , IsVariableSet , CommonUnaryOp(..) @@ -29,6 +29,7 @@ module Database.RRDtool.Expression where import Data.HList +import Data.HList.String -- MentionedVars @@ -66,8 +67,13 @@ instance IsCommonExpr Constant instance MentionedVars Constant where type MentionedVarsOf Constant = HNil -class (Show a, Eq a, Ord a) => IsVarName a where - varName :: a -> String +{- This is what we want to do but GHC can't handle this for now. +class ( (HLengthOf a :<=: D255) ~ True + , HString a + ) + => IsVarName a +-} +class HString a => IsVarName a data Variable vn = Variable !vn