[Haskell-cafe] Num instances for 2-dimensional types

Henning Thielemann lemming at henning-thielemann.de
Mon Oct 5 16:14:02 EDT 2009


Sönke Hahn schrieb:
> 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?

I use NumericPrelude that has more fine grained type classes. E.g. (+)
is in Additive and (*) is in Ring.

http://hackage.haskell.org/package/numeric-prelude




More information about the Haskell-Cafe mailing list