On Tue, 20 Sep 2011, Alexander Solla wrote:



On Tue, Sep 20, 2011 at 1:22 PM, Jake McArthur <jake.mcart...@gmail.com> wrote:
      On Tue, Sep 20, 2011 at 3:48 PM, Chris Smith <cdsm...@gmail.com> wrote:
      > But it would be the *wrong* thing to use as a desugaring for list range
      > notation.  List ranges are very unlikely to be useful or even meaningful
      > for most such enumerations (what is [ Red, Green .. LightPurple]?); and
      > conversely, as we've seen in this thread, list ranges *are* useful in
      > situations where they are not a suitable way of enumerating all values
      > of a type.

This makes me wonder if maybe the reason this discussion is happening
at all is that we don't have a well-defined meaning for what Enum
*is*.


Enum is the class that represents enumerable types.  In other words, the class 
of things that can be injected into the natural numbers.  These types
inherit an order from the natural numbers, ordering by images under this 
injection.

Now, we might not like that order, and it might not agree with an Ord instance, 
but it exists.

For what it's worth, at some point in time I was sketching a proposal to split the Enum class into two classes because I felt that two distinct ideas were being conflated. Unfortunately this was years ago and I have forgotten what the details I was thinking. Perhaps someone can reconstruct a proposal along these lines.

--
Russell O'Connor                                      <http://r6.ca/>
``All talk about `theft,''' the general counsel of the American Graphophone
Company wrote, ``is the merest claptrap, for there exists no property in
ideas musical, literary or artistic, except as defined by statute.''
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to