I have a program that basically has,
data Expression =
Value Value
| EVariable Variable | other stuff ...
data Value = VNumber Number | other stuff ...
data Variable = Variable { variable_name :: String, variable_time :: Expression }
data Number = Number { value :: Double, dimension :: Dimension }
newtype VariableCount = VariableCount (Variable, Number)
The VNumber and EVariable constructors are ugly, though, so I was
wondering if I should be using typeclasses - e.g.,
class Expression a
class Expression a => Value a
instance Value Number
instance Expression Variable
... but I don't see how to define Variable in such a scheme. Maybe I
shouldn't be using typeclasses?
(Obviously, I actually have lots more type constructors in Expression and
Value - dyadic expressions, booleans, etc. - the above with just numbers
and variables is somewhat truncated, but should suffice.)
-- Mark
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe