[Python-Dev] Changing string constants to byte arrays in Py3k (original) (raw)

Steven Bethard steven.bethard at gmail.com
Sun May 6 00:51:12 CEST 2007


On 5/5/07, "Martin v. Löwis" <martin at v.loewis.de> wrote:

>> In general, I don't think it's a good idea to have literals >> turn into mutable objects, since literals are normally perceived >> as being constant. > > Does that mean you want list literals to be immutable too? > > lst = ['a', 'b', 'c'] > lst.append('d') # raises an error?

That's not a literal, it's a display. The difference is that a literal denotes the same object every time it is executed. A display creates a new object every time it is executed. (another difference is that a display is a constructed thing which may contain runtime-computed components, unlike a literal). So if bytes are mutable and also have source-level representation, they should be displays, not literals.

So is having mutable bytes just a matter of calling them "byte displays" instead of "byte literals" or does that also require changing something in the back end?

STeVe

I'm not in-sane. Indeed, I am so far out of sane that you appear a tiny blip on the distant coast of sanity. --- Bucky Katt, Get Fuzzy



More information about the Python-Dev mailing list