]> gitweb @ CieloNegro.org - hs-rrdtool.git/blobdiff - Database/RRDtool/Expression.hs
revised HLength
[hs-rrdtool.git] / Database / RRDtool / Expression.hs
index 669acbca32adffa985f93c652b4e60cc5823f39e..ec5b23adc20b6fab4c1f280edfa02dd828219957 100644 (file)
@@ -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