
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
On Sat, Sep 19, 2020 at 1:34 AM Asad Saeeduddin
wrote: 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 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