Re: Question on Unevaluated
- To: mathgroup at smc.vnet.net
- Subject: [mg117423] Re: Question on Unevaluated
- From: magma <maderri2 at gmail.com>
- Date: Fri, 18 Mar 2011 05:59:35 -0500 (EST)
- References: <ilsrj5$t58$1@smc.vnet.net>
> 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?