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