MathGroup Archive 2009

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

Search the Archive

Re: Bug, quirk or expected behavior of Slot[]?

  • To: mathgroup at
  • Subject: [mg101786] Re: [mg101759] Bug, quirk or expected behavior of Slot[]?
  • From: "Elton Kurt TeKolste" <tekolste at>
  • Date: Fri, 17 Jul 2009 05:02:47 -0400 (EDT)
  • References: <>

The third equation is symbolically different from the first two since,
symbolically, y===y is true and y===0 is false.

The local variable inside and the input parameter are different despite
both being referenced by the symbol "y."

All three functions are in fact the same as numeric functions:

In[29]:= ex1 = Function[Module[{y = 0}, # === y]];

In[24]:= ex1 /@ Range[0, 3]

Symbolic interpretation: input symbol y, set it to zero and check that
it equals itself.

Out[24]= {True, False, False, False}

In[30]:= ex2 = Function[Module[{y = 0}, #1 === y]];

In[26]:= ex2 /@ Range[0, 3]

Out[26]= {True, False, False, False}

Symbolically the same as eq1.

In[31]:= ex3 = Function[t, Module[{y = 0}, t === y]];

In[28]:= ex3 /@ Range[0, 3]

Out[28]= {True, False, False, False} 

Symbolically: assign the symbolic parameter y to t, set a local
parameter (named y but different) to zero and check y==0


On Thu, 16 Jul 2009 04:19 -0400, "Salvatore Mangano"
<smangano at> wrote:
> Someone on the "Linked In" Mathematica User group pointed this out to me:
> In[26]:= Clear[y]
> Function[Module[{y=0},#===y]][y]
> Function[Module[{y=0},#1===y]][y]
> Function[t,Module[{y=0},t===y]][y]
> Out[27]= True
> Out[28]= True
> Out[29]= False
> It leads me to believe # is more like a placeholder for macro-like
> substitution than a formal parameter like t.
> Thoughts?

  • Prev by Date: Demonstrations Surpass 5,000
  • Next by Date: Re: Determine if a parameter is a function
  • Previous by thread: Bug, quirk or expected behavior of Slot[]?
  • Next by thread: Re: Bug, quirk or expected behavior of Slot[]?