On Fri, Apr 26, 2013 at 10:36 AM, Guido van Rossum <gu...@python.org> wrote:

> On Fri, Apr 26, 2013 at 10:33 AM, Glenn Linderman <v+pyt...@g.nevcal.com>
> wrote:
> > On 4/25/2013 9:19 PM, Guido van Rossum wrote:
> >
> > On Thu, Apr 25, 2013 at 8:39 PM, Glenn Linderman <v+pyt...@g.nevcal.com>
> > wrote:
> >
> > an enumeration of objects whose class defines __call__ would
> > not be so weird.
> >
> > Seriously? You'd complexificate the basic usage in order to cater for
> > such an esoteric use case? The *only* use cases that matter at all for
> > enum values are ints and strings, and even the latter could be
> > considered a luxury when compared to other languages' enums.
> >
> >
> > No, I'd look for a solution/implementation that doesn't divide objects
> into
> > "plain" and "esoteric" cases. Py3 now treats everything as objects. So an
> > enumeration should be able to deal with any object as a value.
>
> I think you've lost track of the Zen of Python.
>

I feel that this thread has lost track of it long ago. Some time back in
the Enum discussions (some 350 messages ago or so), there was a proposal to
have this:

class Color(Enum):
  RED, BLUE, GREEN

By doing some crazy-cool shenanigans. Although the syntax is great, it was
rejected on the basis of being too magic.

The recent proposals of folding Enum and EnumValue into one, having class
members be instances of the class they're members of while supporting a
bunch of other Enum requirements also go off the rails in terms of
complexity and magic.

In contrast, personally I feel the current proposal in PEP 435 has an
appeal from the POV of simplicity. It really is a very nice separation of
concerns between enum values and Enum as a container of such values. It
even allows significant customization (IntEnum, etc) which is pretty simple
to grok. It would be a shame to lose these for the sake of making Python a
bit more like Java.

Eli
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to