Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Pattern gremlins.

  • To: mathgroup at
  • Subject: [mg55128] Re: Pattern gremlins.
  • From: Josef Karthauser <joe at>
  • Date: Sun, 13 Mar 2005 04:57:47 -0500 (EST)
  • References: <d0u6kr$kl6$> <005401c5271f$45b00480$6402a8c0@home>
  • Sender: owner-wri-mathgroup at

On Sat, Mar 12, 2005 at 05:19:31PM +0100, wouter meeussen wrote:
> you're close, real close.
> In[3]:=a b c d e f g /. d f :> x
> Out[3]=a b c e g x
> multiplication commutes, all possible pairs are tested, so d*f is found t=
o match. But you knew that
> already. But why use ":>" delayed if "->" suffices? The RHS is not up for=
 immediate interpretation
> before the LHS is filled, now is it? So:
> In[4]:=a b c d e f g /. d f -> x
> Out[4]=a b c e g x
> Now, mind your precedences & brackets !!
> In[5]:=a b c d e f g /. x : d f :> u
> Out[5]=a b c d e f g
> boo, try again:
> In[6]:=a b c d e f g /. (x : d) f :> u
> Out[6]=a b c e g u
> mmm, better, nah?
> and, vide supra:
> In[7]:=a b c d e f g /. (x : d) f -> u
> Out[7]=a b c e g u
> Cool software, I say!
> W.

And so the point is I guess that,

 In[1]:= a b c d e f g /. z:(d f) :> FOO[z]

doesn't match, so instead I must do:

 In[1]:= a b c d e f g /. (x:d) (y:f) :> FOO[x y]

So by attaching a name, z, to z:(d f), this means that it would only
find Times[d, f], and not any other times with other arguments also?

Josef Karthauser (joe at
FreeBSD (cvs meister, admin and hacker)
Physics Particle Theory (student)
================ An eclectic mix of fact and theory. =================

  • Prev by Date: Re: Simplfying inside Sqrt
  • Next by Date: Re: Simplfying inside Sqrt
  • Previous by thread: Pattern gremlins.
  • Next by thread: Re: Pattern gremlins.