On Mon, Dec 19, 2011 at 2:47 PM, Nathan Rice email@example.com wrote:
Regardless, I'm sure everything that gets added to the language was first a hugely popular PyPI project, that is clearly the way the language evolves.
Not everything, no. The real criteria is to have solid use cases where a proposal clearly improves the language. Sometimes that's just obvious (e.g. supporting a popular new compression protocol), sometimes a PEP is enough to explain, other times real world experience on PyPI is the best option. You don't have *any* of those at this point (just some vague hand-waving), so publishing a PyPI package is the most obvious way to start acquiring more data (and to prove that there's even a version of the idea that can be taken beyond the hand-waving stage).
What you seem to be asking for is a general purpose typed container factory along the following lines:
def typed_container(container_type, data_type): class TypedContainer(container_type): def __getattr__(self, attr): data_type_attr = getattribute(data_type, attr) if callable(data_type_attr): _result_type = type(self) def _broadcast(*args, **kwds): _result_type(data_type_attr(x, *args, **kwds) for x in self) return _broadcast return data_type_attr return TypedContainer
I think it will have a lot of problems in practice (note that NumPy doesn't try to solve the broadcasting problem in general, just for a single specific data type), but, if the concept has any merit at all, that's certainly something that can be demonstrated quite adequately on PyPI.
To get a better idea of the level of evidence you're trying to reach if your suggestion is ever going to get anywhere, try taking a look at http://www.boredomandlaziness.org/2011/02/justifying-python-language-changes... and http://www.boredomandlaziness.org/2011/02/status-quo-wins-stalemate.html.