[Haskell-cafe] Num instances for 2-dimensional types
Sönke Hahn
shahn at cs.tu-berlin.de
Mon Oct 5 08:40:31 EDT 2009
Hi!
I often stumble upon 2- (or 3-) dimensional numerical data types like
(Double, Double)
or similar self defined ones. I like the idea of creating instances for Num for
these types. The meaning of (+), (-) and negate is clear and very intuitive, i
think. I don't feel sure about (*), abs, signum and fromInteger. I used to
implement
fromInteger n = (r, r) where r = fromInteger n
, but thinking about it,
fromInteger n = (fromInteger n, 0)
seems very reasonable, too.
Any thoughts on that? How would you do it?
btw: These are two examples i looked at in hackage:
Data.Complex.Complex (which is special, cause it is mathematically defined,
what (*), abs, signum and fromInteger should do (i think))
and
Physics.Hipmunk.Common.Vector
(http://hackage.haskell.org/packages/archive/Hipmunk/5.0.0/doc/html/Physics-
Hipmunk-Common.html#9)
Sönke
More information about the Haskell-Cafe
mailing list