[Haskell-cafe] Automatically Deriving Numeric Type Class Instances
Jake
jake.waksbaum at gmail.com
Fri Apr 22 14:23:12 UTC 2016
Is it possible to automatically derive instances of Numeric type classes
like Num, Fractional, Real, Floating, etc?
I currently have two datatypes, Pair and Triple, that are defined like this:
data Pair a = Pair a a
data Triple a = Triple a a a
I wrote these pretty trivial instances for Num and Floating:
instance Num a => Num (Pair a) where
(+) = liftA2 (+)
(*) = liftA2 (*)
abs = liftA abs
negate = liftA negate
signum = liftA signum
fromInteger = pure . fromInteger
instance Fractional a => Fractional (Pair a) where
(/) = liftA2 (/)
recip = liftA recip
fromRational = pure . fromRational
and practically identical instances for Triple as well.
Is there anyway to have GHC derive these instances and the other numeric
type classes?
Thanks,
Jake
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160422/81d09ade/attachment.html>
More information about the Haskell-Cafe
mailing list