Avoid passing unnecessary dictionaries in Data.Complex

Carter Schonwald carter.schonwald at gmail.com
Sat Mar 15 04:21:33 UTC 2014


+7

theres other issues with Data.Complex, but i'll not raise those for this
battle today :)


On Sat, Mar 15, 2014 at 12:16 AM, Edward Kmett <ekmett at gmail.com> wrote:

> We removed the data type context from Data.Complex some time ago.
>
> However, when we did so, we left the rest of the API in that module intact.
>
> Many of the accessors in that module (should) work with much more general
> types now!
>
> e.g.
>
> realPart :: Complex a -> a
>
> instead of
>
> realPart :: RealFloat a => Complex a -> a
>
> I propose we stop passing around dictionaries we don't need to methods
> that don't use them.
>
> Concretely, I'm proposing we simplify the signatures of the following
> functions, which in the current API all unnecessarily take a RealFloatconstraint that they don't use.
>
> realPart :: Complex a -> a
> imagPart :: Complex a -> a
> conjugate :: Num a => Complex a -> Complex a
> mkPolar   :: Floating a => a -> a -> Complex a
> cis       :: Floating a => a -> Complex a
>
> Discussion Period: 2 weeks
>
> -Edward Kmett
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20140315/4076888e/attachment.html>


More information about the Libraries mailing list