On Wed, 01 Mar 2006 12:37:26 +1100 Ben Finney <[EMAIL PROTECTED]> wrote: > Ben Finney <[EMAIL PROTECTED]> writes: > > PEP: 354 > > Title: Enumerations in Python > > Version: $Revision: 42186 $ > > Last-Modified: $Date: 2006-01-26 11:55:20 +1100 (Thu, > > 26 Jan 2006) $ > > Most people seem to be unopposed or in favour of some kind > of enumeration mechanism making it at least as far as the > standard library.
... but not to built-ins. That seems about right to me. > As I understand it, the current outstanding debates are:: > > * Builtin types versus stdlib module (maybe > 'collections') > > * Ordered sequences versus unordered iterables > > * Immutable versus mutable I suggest that both are called for, but would have different names -- the Immutable is the actual "Enum", the mutable is probably a "Vocabulary" or something else. > * Bad comparisons: raise exception versus return > NotImplemented It should raise an error, because client code should use enumerated values if enumerated values are spec'd in the API. > * Terminology for each of these concepts + Tracing of individual "EnumValues" (or "symbols"?) to their enum, I should be able to interrogate a value to find what enum it comes from in addition to being able to interrogate an enum to find out what values belong to it. Which is more computationally efficient will depend on the application, and a single application might do better to use each for different tasks, so I think it should be reversible. + How about documentation of enumerated values? (Where does the enum's __doc__ go?). One of the main values of using enumerated values is as an aid to documentation, but "WED" is still vague. Could be "Wednesday", could be the "Western Education District" or short for "Wedding". Enumerations are most frequently used in module APIs, so they are important to document. Obviously, the point is so that documentation tools like epydoc can capture the enumeration documentation. -- Terry Hancock ([EMAIL PROTECTED]) Anansi Spaceworks http://www.AnansiSpaceworks.com -- http://mail.python.org/mailman/listinfo/python-list