Re: Any uses for SequenceHold ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg7537] Re: Any uses for SequenceHold ?*From*: "David B. Wagner" <dbwagner at princon.com>*Date*: Fri, 13 Jun 1997 03:08:51 -0400 (EDT)*Organization*: Principia Consulting*Sender*: owner-wri-mathgroup at wolfram.com

Ersek_Ted%PAX1A at mr.nawcad.navy.mil wrote: > > Mma 3.0 has a new Attribute called SequenceHold. > As far as I can tell this Attribute has no useful application. > > However there are exactly nine built in functions > that have this Attribute. They are: > Rule > RuleDelayed > Set > SetDelayed > TagSet > TagSetDelayed > Timing > UpSet > UpSetDelayed > > I used a method in Dave Wagner's book to get the above information. > In what way would things fail to work if these function didn't have this > Attribute? Whether or not you find the following "useful" is up to you. Once upon a time I had a real application for this in 2.2, I can't remember what it was though. In[1]:= {a,b,c}/.b->Sequence[b1,b2] Out[1]= {a,b1,b2,c} > > How did ealier versions get by without SequenceHold? You had to use an inefficient pattern like the following: In[2]:= {a,b,c}/.{prefix___,b,suffix___}->{prefix,b1,b2,suffix} Out[2]= {a,b1,b2,c} Of course, since you've read my book, you know why the above is inefficient. :-) > > Ted Ersek > ersek_ted%pax1a at mr.nawcad.navy.mil -- Dave Wagner Principia Consulting http://www.princon.com/princon/ Voice: (500) PRN-CPIA or (303) 258-9178 Fax: (303) 258-3859