MathGroup Archive 2007

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

Search the Archive

explanation of the evaluation properties of 2nd args of Block With & Module via example


As part of a replacement, the process of evaluation of the second
arguments of Block, With, and Module that have a head of Condition
(/;)  may be explained by the analogous behavior of a (possibly
nested) expression containing RuleCondition and $ConditionHold:

In[1]:=
HoldComplete@a/.a:>Block[{b=4},b+1/;True]
HoldComplete@a/.a:>With[{b=4},b+1/;True]
HoldComplete@a/.a:>Module[{b=4},b+1/;True]
%//ReleaseHold(*the temporary value is still stored, and will take
effect if released*)

Out[1]= HoldComplete[5]
Out[2]= HoldComplete[4+1]
Out[3]= HoldComplete[b$66+1]
Out[4]= 5

In[5]:=
b=4;
HoldComplete@a/.a:>RuleCondition[b+1,True]
HoldComplete@a/.a:>RuleCondition[$ConditionHold[blah+1]/.blah->4,True]
HoldComplete@a/.a:>RuleCondition[$ConditionHold[b+1],True]
%//ReleaseHold(*the value is still stored, and will take effect if released*)
b=.;

Out[6]= HoldComplete[5]
Out[7]= HoldComplete[4+1]
Out[8]= HoldComplete[b+1]
Out[9]= 5

-- 
http://chris.chiasson.name/


  • Prev by Date: BarChart inside a Frame. How to remove Labels from the top of the frame? How to put x-axis label below and not on the side?
  • Next by Date: Behaviour of Mathematica varies according to size of digital image imported
  • Previous by thread: Re: Fw: BarChart inside a Frame. How to remove Labels from the top of the frame? How to put x-axis label below and not on the side?
  • Next by thread: Behaviour of Mathematica varies according to size of digital image imported