This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author larry
Recipients ajaksu2, benjamin.peterson, larry
Date 2009-03-30.04:56:51
SpamBayes Score 1.5709424e-09
Marked as misclassified No
Message-id <1238389016.44.0.117315376066.issue1569040@psf.upfronthosting.co.za>
In-reply-to
Content
I'm not saying that killing a two-year-old DOA patch is the wrong
move--though I hold out hope that lazy string concatenation in CPython
will yet happen.  But you shouldn't kill this patch just because you
think it has something to do with "string views"--it doesn't.

"String views" were suggested by Josiah Carlson.  A "string view" was a
separate object with a reference to a string (or strings); this patch
changed the implementation of strings directly.  Josiah Carlson would be
the first to point out that "lazy strings" and "string views" were
different:
http://mail.python.org/pipermail/python-3000/2007-January/005546.html

Here's my take on what happened with "lazy string concatenation".  GvR
asked me to port it to Py3k.  I optimistically combined "lazy string
concatenation" with another optimization, "lazy string slices", and
submitted the combined patch.  GvR examined the two patches together and
disliked it because of the behavior of the "lazy string slices".
http://bugs.python.org/issue1629305
I subsequently tried to drum up interest in lazy concatenation without
lazy string slices:
http://mail.python.org/pipermail/python-3000/2007-January/005641.html
but there was no strong interest.  Finally, GvR officially rejected the
patch.

I hold out hope that "lazy string concatenation", separate from "lazy
string slices", could still make it in.  (Truthfully, I hope they *both*
could make it in someday, if I did a better job.)  I wouldn't claim
these are a no-brainer--see my original description of the patch for
caveats--but I still think they're worth the tradeoffs.

FWIW, ajaksu2, another implementations of Python *has* already
implemented this approach: PyPy.
http://codespeak.net/pypy/dist/pypy/doc/interpreter-optimizations.html#string-join-objects

Writing for the sake of posterity,

/larry/
History
Date User Action Args
2009-03-30 04:56:57larrysetrecipients: + larry, ajaksu2, benjamin.peterson
2009-03-30 04:56:56larrysetmessageid: <1238389016.44.0.117315376066.issue1569040@psf.upfronthosting.co.za>
2009-03-30 04:56:54larrylinkissue1569040 messages
2009-03-30 04:56:52larrycreate