
instance (Integral a, Bounded a) => Bounded (Ratio a) where minBound = minBound % 1 maxBound = maxBound % 1

Seems sensible. Out of curiosity, what would this help with? On 6/14/19 6:44 PM, Dannyu NDos wrote:
instance (Integral a, Bounded a) => Bounded (Ratio a) where minBound = minBound % 1 maxBound = maxBound % 1
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Ratio only only generally be used with Integer, which isn’t itself an instance of Bounded. This probably wouldn’t be a very useful instance. It has overflow issues with Bounded types like Int for various operations including comparisons.
On Jun 16, 2019, at 10:14 AM, Vanessa McHale
wrote: Signed PGP part Seems sensible. Out of curiosity, what would this help with?
On 6/14/19 6:44 PM, Dannyu NDos wrote:
instance (Integral a, Bounded a) => Bounded (Ratio a) where minBound = minBound % 1 maxBound = maxBound % 1
_______________________________________________ Libraries mailing list Libraries@haskell.org mailto:Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Agreed. Moreover, even if we had some magical way to avoid overflow issues,
there's no guarantee that
maxBound % 1 >= minBound % (-1)
or that
minBound % 1 <= maxBound % (-1)
So I think this is fundamentally doomed.
On Sun, Jun 16, 2019, 2:30 PM Eric Mertens
Ratio only only generally be used with Integer, which isn’t itself an instance of Bounded. This probably wouldn’t be a very useful instance. It has overflow issues with Bounded types like Int for various operations including comparisons.
On Jun 16, 2019, at 10:14 AM, Vanessa McHale
wrote: Signed PGP part
Seems sensible. Out of curiosity, what would this help with? On 6/14/19 6:44 PM, Dannyu NDos wrote:
instance (Integral a, Bounded a) => Bounded (Ratio a) where minBound = minBound % 1 maxBound = maxBound % 1
_______________________________________________ Libraries mailing listLibraries@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Sorry, agreed with one caveat. Ratio Natural is also perfectly sensible.
On Sun, Jun 16, 2019, 2:49 PM David Feuer
Agreed. Moreover, even if we had some magical way to avoid overflow issues, there's no guarantee that
maxBound % 1 >= minBound % (-1)
or that
minBound % 1 <= maxBound % (-1)
So I think this is fundamentally doomed.
On Sun, Jun 16, 2019, 2:30 PM Eric Mertens
wrote: Ratio only only generally be used with Integer, which isn’t itself an instance of Bounded. This probably wouldn’t be a very useful instance. It has overflow issues with Bounded types like Int for various operations including comparisons.
On Jun 16, 2019, at 10:14 AM, Vanessa McHale
wrote: Signed PGP part
Seems sensible. Out of curiosity, what would this help with? On 6/14/19 6:44 PM, Dannyu NDos wrote:
instance (Integral a, Bounded a) => Bounded (Ratio a) where minBound = minBound % 1 maxBound = maxBound % 1
_______________________________________________ Libraries mailing listLibraries@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
participants (4)
-
Dannyu NDos
-
David Feuer
-
Eric Mertens
-
Vanessa McHale