MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Bug in pattern parsing?


Hello,

I may have discovered a bug in pattern parsing or applying transformation
rules.

The following two rules should be equivalent:

rule1 = c_.*X_.Y_ -> X.Y

with c an optional variable, and

rule2 = c_.*Dot[X_, Y_] -> X.Y

Yet applying rule1 on a.b as

a.b/.rule1

gives

1.a.b

(the same result obtains for the optional factor actually present as in
const a.b), but

a.b/.rule2

gives

a.b

as it should.

I think that it has to do with the dot in c_., but curiously I get the
same result when writing the LHS of rule1 as Optional[c]*Y.Z and that
confuses me...

Any thoughts?

Kristjan Kannike
<http://www.physic.ut.ee/~kkannike/english/>


  • Prev by Date: DeleteGeneratedCells->YES!
  • Next by Date: Re: Running the kernel as a daemon?
  • Previous by thread: DeleteGeneratedCells->YES!
  • Next by thread: Re: Bug in pattern parsing?