[Python-Dev] PEP 218 update questions
A.M. Kuchling
amk@nyman.amk.ca
Sun, 13 Oct 2002 17:38:38 -0400
I've just updated PEP 218 to match the sets.py module that's in CVS.
The original PEP text had a single Set class, and Set instances froze
after their __hash__ was called so you could use a set as a dictionary
key. sets.py takes a more straightforward approach, with distinct Set
and ImmutableSet classes.
Two things in the PEP need to be updated to take this change into account.
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 immutable_set() built-in, or would the set()
function take an additional argument: set(iterable, immutable=True)?
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 immutable_set({1,2,3}). That's up
to python-dev, though, but whatever gets chosen needs to be specified
in the PEP.
--amk