[Pythonmac-SIG] (no subject)

Bob Ippolito bob at redivi.com
Sat Jan 31 14:14:23 EST 2004

On Jan 31, 2004, at 1:57 PM, Keith Nemitz wrote:

>>> huh? I mean does everyone use[-3:] instead and 0 is taboo? I'm used 
>>> to the Icon programming language where "food"[-3:0] returns --> ood
>> "food"[-3:] is equivalent to "food"[-3:None] (that is, literally, how 
>> it works out internally)
>> "food"[-3:0] is just backwards :)  If anything, it should give you 
>> "oof", but that's too confusing.
> Thank you. I knew there had to be a reason. If you think about lists 
> as ring buffers, however, then  "food"[-3:0]-->"ood"  makes plenty of 
> sense and can be very useful. My case that started this whole thread 
> had to do with iterating from negative to positive, returning larger 
> substrings on each iteration. It broke with the zero index. So I had 
> to special case it.

They aren't ring buffers, they're arrays.. the fact you can use 
negative indexes is a convenience really.. if you notice, you can do 
"food"[1:100000] and you will still get "ood".  You get clipped at the 
boundaries when slicing.

> sigh,  I wonder if adding this 'concept' to python (indexing lists as 
> ring buffers) would break any existing code...

Yes, I'm sure it would.. you could make a subclass of str (or list, or 
whatever) or a proxy object to address things as a ring buffer though.

> Heck while I'm at it, changing the language, might as well add nested 
> comments, and (my personal favorite) record names, implemented like 
> this:

Nested comments?

> record <tuple of enums>
> tuple of enums ::= (<enum> [,enum]*)
> enum ::= <string>[= <int>]
> ...such that the keyword 'record' turns the strings into module and/or 
> class scoped indexes.

You don't need language support for this, definitely not a keyword.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2357 bytes
Desc: not available
Url : http://mail.python.org/pipermail/pythonmac-sig/attachments/20040131/a4b41e50/smime.bin

More information about the Pythonmac-SIG mailing list