[Python-Dev] constant/enum type in stdlib (original) (raw)
Isaac Morland ijmorlan at uwaterloo.ca
Tue Nov 23 18:50:31 CET 2010
- Previous message: [Python-Dev] constant/enum type in stdlib
- Next message: [Python-Dev] constant/enum type in stdlib
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 23 Nov 2010, Antoine Pitrou wrote:
Le mardi 23 novembre 2010 à 12:32 -0500, Isaac Morland a écrit :
On Tue, 23 Nov 2010, Antoine Pitrou wrote:
We already have a bunch of bizarrely unrelated stuff in collections (such as Callable), so we could put enum there too. Why not just "enum" (i.e., "from enum import [...]" or "import enum.[...]")? Enumerations are one of the basic kinds of types overall (speaking informally and independent of any specific language) - they aren't at all exotic. Enumerations aren't a type at all (they have no distinguishing property).
Each enumeration is a type (well, OK, not in every language, presumably, but certainly in many languages). The word "basic" is more important than "types" in my sentence - the point is that an enumeration capability is a very common one in a type system, and is very general, not specific to any particular application.
And "Flat is better than nested", after all. Not when it means creating a separate module for every micro-feature.
Classes have their own keyword. I don't think it's disproportionate to give enums a top-level module name.
Having said that, I understand we're trying to have a not-too-flat module namespace and I can see the sense in putting it in "collections". But I think the idea that enumerations are of very wide applicability and hence deserve a shorter name should be seriously considered.
I'll leave it at that, except for:
Hey, how about this syntax:
enum Colors: red = 0 green = 10 blue
(blue gets the value 11)
;-)
Isaac Morland CSCF Web Guru DC 2554C, x36650 WWW Software Specialist
- Previous message: [Python-Dev] constant/enum type in stdlib
- Next message: [Python-Dev] constant/enum type in stdlib
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]