MathGroup Archive 2004

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

Search the Archive

Re: Do Modules Produce Side Effects?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg47980] Re: Do Modules Produce Side Effects?
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Tue, 4 May 2004 07:03:13 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <c778ms$hf7$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

sind out what
"Module creates new symbols to represent 
EACH OF ITS LOCAL VARIABLES evey time it is called."

the local varaibels are in a call Module[{},...]

Only
 Module[ {m}, m=4; 2*m ]

will do what you want, because here m *is* a local variable.

The construct Module[{},...] is total useless.

Regards
  Jens


Harold Noffke wrote:
> 
> $Version "5.0 for Microsoft Windows [2000] (November 18, 2003)"
> 
> MathGroup:
> 
> The MathBook definition of Module tells me, "Module creates new
> symbols to represent each of its local variables every time it is
> called."  I am led by this, and other Module descriptions, to conclude
> Modules do not produce side effects, like Blocks do.  However, we have
> ...
> 
> In[1]:= m=i^2
> Out[1]= i^2
> 
> In[2]:= Module[ {}, m=4; 2*m ]
> Out[2]= 8
> 
> In[3]:= m
> Out[3]= 4
> 
> I expected m to remain unchanged from its original i^2.  But Module
> changed m to 4, just as I would expect a Block to do.
> 
> Am I misunderstanding something about the "side effect safety" of
> Modules?
> 
> Regards,
> Harold


  • Prev by Date: Re: Do Modules Produce Side Effects?
  • Next by Date: Re: Numerically computing partial derivatives
  • Previous by thread: Re: color in SphericalPlot3D
  • Next by thread: Re: Do Modules Produce Side Effects?