
I think that would be my preferred solution
You can keep the numbering the same in the Enum instance if you wish and
hide the negation in the implementation, but I'm not convince the Enum
instance is of general use.
On Mon, Sep 21, 2020 at 6:21 PM David Feuer
That strikes me as quite reasonable.
On Mon, Sep 21, 2020, 1:09 PM Krzysztof Gogolewski < krz.gogolewski@gmail.com> wrote:
I would consider removing Enum a => Enum (Down a), and fixing Bounded (Down a).
There isn't really a good equivalent of `enumFromThenTo` for Down and performing negation in `toEnum` is not obvious to me.
On Sat, Sep 19, 2020 at 3:00 AM Kim-Ee Yeoh
wrote: On Sat, Sep 19, 2020 at 1:34 AM Asad Saeeduddin
This is something I've never understood about `Enum`. How can a
type be in bijection with the integers, but simultaneously have a
minimum and maximum bound?
It's not a bijection with the integers.
In the method fromEnum :: a -> Int, the Int stands in for the disjoint sum of all possible types with an Enum instance.
And the way Int finesses that impersonation is by conflating together
wrote: the parts of the disjoint sum.
On 9/18/20 10:40 AM, Oleg Grenrus
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
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@haskell.org
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________
Libraries mailing list
Libraries@haskell.org
-- -- Kim-Ee _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries