[Haskell-cafe] Automatically Deriving Numeric Type Class Instances
vogt.adam at gmail.com
Fri Apr 22 19:14:00 UTC 2016
https://hackage.haskell.org/package/applicative-numbers can generate those
On Apr 22, 2016 10:23 AM, "Jake" <jake.waksbaum at gmail.com> wrote:
> 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
> 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?
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe