On Fri, 29 Jul 2005 20:54:42 +1000, Steven D'Aprano <[EMAIL PROTECTED]> wrote:

>On Fri, 29 Jul 2005 06:37:52 +0000, Bengt Richter wrote:
>
>> I suggested in a previous thread that one could support such a syntax by
>> supporting an invisible binary operator between two expressions, so that
>> examine "string" translates to examine.__invisbinop__("string") if
>> examine as an expression evaluates to an object that has a __invisbinop__ 
>> method.
>
>Why would you want to?
>
Mainly to say that I think there is way to do it (and thus further to mulch the 
idea garden ;-)
whatever the merits. As to the merits, I haven't thought about it much, but 
ISTM for limited
contexts it would allow you to spell concatenating/aggregating expressions 
without the
"line noise" of intervening operator glyphs, e.g.,

    agg = Aggregate() first_thing second_thing 3 "four" etc.and.so.forth ;
or

   mypath = Path() prefix middle filename+'.ext' ; # explicit terminating ';' 
or (...) might be needed
                                                   # if EOL can be part of 
whitespace delim as below

or
    arr = (ArrayElementAggregator()
             11 12 13
             21 22 23
          )


The latter presupposes that white-space including an EOL causes attempt to 
access an alternate
__invisbinop__ (e.g., __invisbinopNL__) that one could define to aggregate new 
rows of expressions,
but would not be an error if absent, and thus end a single-line aggregator 
without explict ';' or parens.

I haven't thought of all the ramifications, I was just playing with the idea ;-)

Others might think of other ways to answer your "why" ;-)

Regards,
Bengt Richter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to