MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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?



  • Prev by Date: Re: The derivative of 1
  • Next by Date: Re: A bug in Partition?
  • Previous by thread: Re: Question on Unevaluated
  • Next by thread: Re: Question on Unevaluated