[Python-ideas] Adding "Typed" collections/iterators to Python
Ethan Furman
ethan at stoneleaf.us
Mon Dec 19 15:10:09 CET 2011
Nathan Rice wrote:
> To avoid handcuffing people with types (which is definitely un-pythonic)
> and maintain backwards compatibility, the standard collection
> modification methods could be hooked so that if an object of an
> incorrect type is added, a warning is raised and the collection
> gracefully degrades by removing mixed-in type information and
> methods.
-1 to automatic downgrading. Imagine in step C that the collection is
auto-downgraded and later in step Q a method is called that no longer
exists -- Exception raised. (I find a Warning less than useful --
either you aren't going to use one of the special methods, in which case
you didn't need the special container and the warning is just noise, or
you do need the special methods and you'll get an exception further on
when you try to use it and it's no longer there.)
> Additionally, a method could be provided that lets the user
> "terminate the contract" causing the collection to degrade without a
> warning.
+1 Either it was not needed to begin with, or the need has been
satisfied and now we need to add in objects with a different type
Do you have some examples of functions where you pass in a container
object and get the same type of object back, but it's a different object?
~Ethan~
More information about the Python-ideas
mailing list