MathGroup Archive 2006

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

Search the Archive

Re: Context

  • To: mathgroup at smc.vnet.net
  • Subject: [mg70971] Re: [mg70956] Context
  • From: Daniel Huber <dh at metrohm.ch>
  • Date: Fri, 3 Nov 2006 01:39:19 -0500 (EST)
  • References: <200611021149.GAA15806@smc.vnet.net> <acbec1a40611020635m2fd171fdqb2d1f837b8f3491a@mail.gmail.com> <454A1513.6010508@metrohm.ch> <acbec1a40611020831g779b6577k630e8b0425b92f1f@mail.gmail.com>

Hi Chris,
that's correct. The problem comes when you use SetDelayed.
Daniel

Chris Chiasson wrote:
> I should have said it with code.
>
> If a text file contains the following 3 lines, I believe it should 
> print "x`".
>
> Begin["x`"];
> Print[Context[t]];
> End[];
>
>
>
> On 11/2/06, Daniel Huber <dh at metrohm.ch> wrote:
>> Hi Chris,
>> it does not matter how you load fun. You get the same behaviour if you
>> use Get.
>> Daniel
>>
>>
>> Daniel
>>
>>
>> Chris Chiasson wrote:
>> > I am guessing that Get only has different behavior because it passes
>> > the commands into the Kernel sequentially. fun is only sending a
>> > single CompoundExpression (and it has already been parsed by the time
>> > it has been defined).
>> >
>> > On 11/2/06, dh <dh at metrohm.ch> wrote:
>> >>
>> >> Hello,
>> >>
>> >> consider:
>> >>
>> >> fun[x_]:=( Begin[x];
>> >>
>> >>        Print[t];
>> >>
>> >>        End[];
>> >>
>> >>        );
>> >>
>> >> according to the manual one would think that the variable t in 
>> context x
>> >>
>> >> is printed. However, this is wrong! What is printed is Global`t.
>> >>
>> >> Therefore, the context to which a symbol belongs is determined during
>> >>
>> >> parsing and NOT execution.
>> >>
>> >> Can anybode give more insight and strict rules for this quirck?
>> >>
>> >> Daniel
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>> -- 
>>
>> Daniel Huber
>> Metrohm Ltd.
>> Oberdorfstr. 68
>> CH-9100 Herisau
>> Tel. +41 71 353 8585, Fax +41 71 353 8907
>> E-Mail:<mailto:dh at metrohm.ch>
>> Internet:<http://www.metrohm.ch>
>>
>>
>
>


-- 

Daniel Huber
Metrohm Ltd.
Oberdorfstr. 68
CH-9100 Herisau
Tel. +41 71 353 8585, Fax +41 71 353 8907
E-Mail:<mailto:dh at metrohm.ch>
Internet:<http://www.metrohm.ch>


  • References:
  • Prev by Date: RE: Context
  • Next by Date: Re: Context
  • Previous by thread: Re: Context
  • Next by thread: Re: Context