Re: Add syntax highlighting to own command
- To: mathgroup at smc.vnet.net
- Subject: [mg101826] Re: Add syntax highlighting to own command
- From: earthnut at web.de (Bastian Erdnuess)
- Date: Sat, 18 Jul 2009 04:51:45 -0400 (EDT)
- References: <200907090600.CAA17547@smc.vnet.net> <h3766u$f9h$1@smc.vnet.net> <h3pem5$o48$1@smc.vnet.net>
Daniel <janzon at gmail.com> wrote: > Hi Bastian, > > I think the line > > > Let[ { head_ }, expr_ ] := With[ { head }, expr ] > > is unnecessary since tail_ tail___ ? > can match the empty sequence in > > > Let[ { head_, tail__ }, expr_ ] := > > With[ { head }, Let[ { tail }, expr ] ] > > Or did I miss something? I don't know. When I run Let[ { head, tail }, expr ] then first Let[ { head_, tail__(_) }, expr_ ] matches and gives With[ { head }, Let[ { tail }, expr ] ] Now, in my case Let[ { head_ }, expr ] matches and gives finaly With[ { head }, With[ { tail }, expr ] ] after two steps. In the other case Let[ { head_, tail___ }, expr_ ] matches again and gives With[ { head }, With[ { tail }, Let[ { }, expr ] ] . Now, Let[ { }, expr_ ] has to match, to transform this finally to With[ { head }, With[ { tail }, expr ] ] after three steps. In my case, I actually wouldn't need to have the rule for Let[ { }, expr_ ] in. I just put it as backup incase it would somehow actually occour in an automated process. I don't know how Mathematica internally works and if it is worth buying one step less transformation by adding another rule (or to do it at all). However, when I understood this right, it shouldn't matter wether the rule for Let[ { }, expr_ ] is in or not, when it is on the last position, since the others get checked before. So, that's probably a good point to rearrange the rules to (l_ := Let[ v_, x_ /; c_ ]) ^:= Let[ v, l := x /; c ] Let[ { h_, t__ }, x_ ] := With[ { h }, Let[ { t }, x ] Let[ { h_ }, x_ ] := With[ { h }, x ] Let[ { }, x_ ] := x then the less likely get checked less often (probably). BTW: Has someone a clue why Mathematica tries UpRules always before DownRules? Does this make sense? Or is it just a wrong impression of mine? Bastian
- References:
- Add syntax highlighting to own command
- From: earthnut@web.de (Bastian Erdnuess)
- Add syntax highlighting to own command