, IsCommonExprSet
, Constant(..)
- , IsVarName(..)
+ , IsVarName
, Variable(..)
, IsVariableSet
, CommonUnaryOp(..)
where
import Data.HList
+import Data.HList.String
-- MentionedVars
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