Re: pattern bugs and comment on intuitive syntax for the
- To: mathgroup at smc.vnet.net
- Subject: [mg115157] Re: pattern bugs and comment on intuitive syntax for the
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Mon, 3 Jan 2011 03:54:49 -0500 (EST)
This bothers me: x /. x + c___ : 0 -> aha[c] x + y /. x + y + c___ : 0 -> aha[c] aha[0] aha[] I'm accustomed to guessing what works or just trying random things until something does... but it gets tiring. Bobby On Sun, 02 Jan 2011 03:56:08 -0600, Richard Fateman <fateman at cs.berkeley.edu> wrote: > > > Guess the results. > > x+3 /. x+c___ -> aha[c] > x /. x+c___ -> aha[c] > x /. x+c___:0 -> aha[c] > > compare to > > x+y+3 /. x+y+c___ -> aha[c] > x+y /. x+y+c___ -> aha[c] > x+y /. x+y+c___:0 -> aha[c] > x+y+a+b /. x+y+c___ :> aha[c] > x+y+a+b /. x+y+c___ :> aha[Plus[c]] > x+y /. x+y+c___ :> aha[Plus[c]] > > > > I think the requirement for the :0 represents a bug. Maybe the > need for the Plus[], too. The treatment of NullSequences within > a Flat operator could be different, leaving an operator around. > > ............ > > Another item. really, syntax. > > define > > GreaterThan[q_]:= #>q& > gt2=GreaterThan[2] (* a function of one argument. > is that argument > 2? *) > > > mm[2, 10] /. mm[q_, s_?GreaterThan[q]] :> aha[q, s] > > doesn't give aha.. > > > mm[2, 10] /. mm[q_, s_?gt2] :> aha[q, s] > > does give aha > > this works, though. > mm[2, 10] /. mm[q_, s_?(GreaterThan[q])] :> aha[q, s] > > I love that intuitive syntax. None of that excess > parentheses and stuff. (sarcasm) > > This error would have been > much more apparent in Lisp. > > happy new year. > > > > -- DrMajorBob at yahoo.com