On 5/27/08, Benji York wrote: > Guido van Rossum wrote: > > Armin Ronacher wrote:
> >> Basically *the* problematic situation with iterable strings is something > >> like > >> a `flatten` function that flattens out every iterable object except of > strings. > > I'm not against this, but so far I've not been able to come up with a > > good set of methods to endow the String ABC with. Another problem is > > that not everybody draws the line in the same place -- how should > > instances of bytes, bytearray, array.array, memoryview (buffer in 2.6) > > be treated? > Maybe the opposite approach would be more fruitful. Flattening is about > removing nested "containers", so perhaps there should be an ABC that > things like lists and tuples provide, but strings don't. No idea what > that might be. It isn't really stringiness that matters, it is that you have to terminate even though you still have an iterable container. The test is roughly (1==len(v) and v[0]==v), except that you want to stop a layer sooner. Guido had at least a start in Searchable, back when ABC were still in the sandbox: http://svn.python.org/view/sandbox/trunk/abc/abc.py?rev=55321&view=auto Searchable represented the fact that (x in c) =/=> (x in iter(c)) because of sequence searches like ("Error" in results) -jJ _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com