[Python-3000] Lazy strings (was Re: Py3k release schedule worries)

Josiah Carlson jcarlson at uci.edu
Sat Jan 13 07:27:08 CET 2007


Larry Hastings <larry at hastings.org> wrote:
> Of the five I've proposed so far, Guido's right, only changing the API 
> will preserve the speedup *and* result in correct behavior.  But I 
> maintain some dim hope that a sixth exists, waiting only to be suggested 
> by some shining intellect.

There is a 6th option, which I offered before you wrote your patch,
which I offered again in the last day or so, but which you have refused
because you believe there should be one obvious way to do it.  A wraper
type.

I agree that there should be only one way, however, your proposed change
isn't just about improving speed, it's about changing the semantics of
the underlying type in a way that makes the underlying type difficult to
understand and maintain.  Nevermind the 400+ other changes necessary.

Even better, a wrapper type for unicode makes it *simple* to have a
wrapper type for bytes, buffers, arrays, etc., which offer the same
methods as unicode (which are quite useful for certain file format and
socket protocol parsing operations), which could be used to improve
*many* types, not just unicode.

But hey, don't listen to me, I'm just the crazy guy who has been
advocating the simplification of the implementation of str, unicode,
bytes, array, and mmaps through the use of a wrapper type for 4 and 1/2
months.


 - Josiah



More information about the Python-3000 mailing list