[Python-Dev] Re: [Fwd: Discussion: Introducing new operators formatrix computation]

Thomas Wouters thomas@xs4all.net
Fri, 14 Jul 2000 09:44:12 +0200


On Thu, Jul 13, 2000 at 10:53:38PM -0700, Huaiyu Zhu wrote:
> On Thu, 13 Jul 2000, Paul Prescod wrote:

> > It all depends on who works on it and how hard they work. I really can't

> So can some one answer this question for sure:

> Is it definitely possible to introduce .* ./ etc without much more
> difficulty than introducing @* and @/ and so on?

No, I don't think it's possible without significantly restructuring the
Grammar. However, Vladimir may prove me wrong, he has before ! :-) The
problem is the recursive-descent parser Python is using, I don't think it
can see the difference between 

2. / 2

and 

2 ./ 2

or

a. / b

and 

a ./ b

Because the dot is already a pretty overloaded character: it does
float-creation, rendering the first example ambiguous, and it does
attribute-lookup, rendering the second ambiguous. However, I haven't tried
it, it might be possible to make it work even with the current parser.

> If this is the case we do not need a new symbol.

Actually, you do need a new symbol, several in fact. You don't need to
introduce a new *character*, but you get several new symbols: ./, .*, etc.
I'm not sure if using the dot for this, too, is such a good idea, even if
it's possible: yet another possible meaning for '.' ? I think using '@' is
preferable. At least non-matrix people will know when to run screaming, when
they see that ! :-)

-- 
Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!