[Python-Dev] PEP 218 update questions (original) (raw)
Raymond Hettinger Raymond Hettinger" <python@rcn.com
Sun, 13 Oct 2002 20:09:55 -0400
- Previous message: [Python-Dev] PEP 218 update questions
- Next message: [Python-Dev] Python-dev Summary for 2002-10-01 through 2002-1 0-13
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
1) The long-term proposal in PEP 218 lists a single built-in conversion function, set(iterable). This made sense when there was a single Set class, but now this needs to be updated.
How would instances of a built-in immutable set type be created? Would there be a second immutableset() built-in, or would the set() function take an additional argument: set(iterable, immutable=True)?
-1 on the property version. As it stands now, immutables can be constructed directly from a class with its own methods or, more likely, is an automagically created proxy used internally by mutuable sets. I think of immutable sets as regular sets that are frozen for purposes of inclusion in another set -- there is almost no reason for instantiatiating them directly (other than to save coercion time for sets whose contents are known and fixed at the time of instatiation).
2) The PEP proposes {1,2,3} as the set notation and {-} for the empty set. Would there be different syntax for an immutable and a mutable set?
My thought is, "no"; {1,2,3} or {-} is always mutable, and an immutable set would be written as immutableset({1,2,3}). That's up to python-dev, though, but whatever gets chosen needs to be specified in the PEP.
+1. Immutable sets have their own weirdness. No use reflecting that in the core language syntax. Besides, they may yet evolve further (perhaps with an animmutable.refresh() method).
Raymond Hettinger
- Previous message: [Python-Dev] PEP 218 update questions
- Next message: [Python-Dev] Python-dev Summary for 2002-10-01 through 2002-1 0-13
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]