Correct behaviour of Bounded (Down a)

David Feuer david.feuer at gmail.com
Fri Sep 18 15:03:52 UTC 2020


We should add an Ord constraint to Enum and Bounded. The more constraints
we add to Enum, the fewer instances we will have and the sooner my ultimate
goal of removing it altogether will be achieved. Mwahahahaha!

On Fri, Sep 18, 2020, 10:41 AM Oleg Grenrus <oleg.grenrus at iki.fi> wrote:

> Is it (a bug)?
>
> What about [minBound .. maxBound]. If you change `Bounded`, you need to
> change `Enum` too.
>
> From
> https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Enum.html#t:Enum
>
> - The calls succ maxBound and pred minBound should result in a runtime
> error.
> - enumFrom and enumFromThen should be defined with an implicit bound
>
> The `min` and `max` in `minBound/maxBound` are related to `succ`, `pred`,
> not to `compare`. If you argue against, then we should add `Ord`
> super-class to `Enum` (and `Bounded`).
>
> - Oleg
> On 18.9.2020 16.54, Carter Schonwald wrote:
>
> Def a bug! Plz at myself and the core libraries handle for code review
> plz.
>
> This sounds kinda related to an MR that has languished too long regarding
> the behavior of Down on Ord1, which I think is related??? (I tried to
> arbitrate / layout possible answers for the related issue in the associated
> mr, but none of the clc members have engaged in the design space challenge)
>
> On Fri, Sep 18, 2020 at 7:44 AM David Beacham <mail at dbeacham.co.uk> wrote:
>
>> Hi all,
>>
>> The current instance for `Bounded a => Bounded (Down a)` derives the
>> `minBound` and `maxBound` exactly as they are for the underlying type `a`
>> where I think they should be flipped to respect the flipped ordering of
>> `Down a`?
>>
>> I have a feeling this has been come up in some other context/list before
>> but I couldn't find a reference to it when searching - so sorry if this is
>> a duplicate.
>>
>> I've got a corresponding MR here:
>> https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4081
>>
>> Thanks, David.
>>
>>
>> _______________________________________________
>>
>> Libraries mailing list
>>
>> Libraries at haskell.org
>>
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>
>>
> _______________________________________________
> Libraries mailing listLibraries at haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200918/3972dcb0/attachment.html>


More information about the Libraries mailing list