A few random questions: a = enum ('foo', 'bar', 'baz') b = enum ('foo', 'bar', 'baz')
what's the value of the following: a == b a is b a.foo == b.foo a.foo is b.foo len (a) str (a) repr (a) hash (a) type (a) Can you make an enum from a sequence? syllables = ['foo', 'bar', 'baz'] c = enum (syllables) You imply that it works from "An enumerated type is created from a sequence of arguments to the type's constructor", but I suspect that's not what you intended. BTW, I think this is a great proposal; enums are a badly needed part of the language. There's been a number of threads recently where people called regex methods with flags (i.e. re.I) when integers were expected, with bizarre results. Making the flags into an enum would solve the problem while retaining backwards compatibility. You would just have to put in the re module something like: flags = enum ('I', 'L', 'M', 'S', 'U', 'X') I = flags.I L = flags.L M = flags.M S = flags.S U = flags.U X = flags.X then the methods which expect a flag can do: if flag is not in re.flags: raise ValueError ("not a valid flag") and the ones which expect an integer would (if nothing better), raise NotImplemented when they tried to use the value as an integer if you passed it a flag by mistake. -- http://mail.python.org/mailman/listinfo/python-list