General question about Python design goals

Fredrik Lundh fredrik at
Thu Dec 1 18:45:00 CET 2005

Rocco Moretti wrote:

>>>I'm sure Antoon wouldn't object if lists were to be allowed as
>>>dictionary keys, which would eliminate the multiple castings for
>>>that situation. I wouldn't, either.
>> so what algorithm do you suggest for the new dictionary im-
>> plementation?
> <devil's_advocate> One option is to create a new "frozen list" type, a`
> la frozen sets.

doesn't frozenset make a copy?

> People who argue that "frozen list" is not needed because we already
> have the tuple type, while simultaneously arguing that tuples shouldn't
> grow list methods because they are conceptually different from lists
> will be bludgeoned to death with a paradox.

    This PEP describes a simple protocol for requesting a frozen,
    immutable copy of a mutable object. It also defines a new
    built-in function which uses this protocol to provide an
    immutable copy on any cooperating object.

    Here are some code samples which show the intended semantics

    class xset(set):
        def __freeze__(self):
            return frozenset(self)

    class xlist(list):
        def __freeze__(self):
            return tuple(self)



More information about the Python-list mailing list