Re: Question on Unevaluated
- To: mathgroup at smc.vnet.net
- Subject: [mg117455] Re: Question on Unevaluated
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Sat, 19 Mar 2011 05:18:37 -0500 (EST)
Have a look at http://stackoverflow.com/questions/5337026/how-mathematica-determines-that-evaluation-should-be-finished Regards, Leonid On Fri, Mar 18, 2011 at 1:59 PM, magma <maderri2 at gmail.com> wrote: > > > In[19]:= Clear[x]; > > Module[{tried}, x := Block[{tried = True}, x + 1] /; ! TrueQ[tried]] > > This kind of trick seems to me a bit problematic. > It is true that it works in this case: > > In[45]:= x > > Out[45]= 1 + x > > and also works with > > In[54]:= x + a > > Out[54]= 1 + a + x > > > but if you just slightly change the input, it stops working: > > In[55]:= x + 2 > > During evaluation of In[55]:= $IterationLimit::itlim: Iteration limit > of 4096 exceeded. >> > > Out[55]= Hold[4097 + x] > > Any suggestions why is that? > > >