[Date Index] [Thread Index] [Author Index]
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/>