There have not been any changes in the interpreter
in this regard.  Perhaps the defn of "load" was changed
and that could have changed the behaviour.  Or perhaps
you did your experiments using "load", thinking that
it was equivalent to 0!:0@< .  Compare:

\junk\x.ijs consists of the two lines:
 xyz=. 1
 abc=: +/

Now execute
   load '\junk\x.ijs'
   xyz
|value error: xyz
   abc
+/

xyz is a value error, because after the explicitly
defined "load" is executed the local name xyz
no longer exists.

   0!:0 <'\junk\x.ijs'
   xyz
1
   abc
+/
 
xyz is 1, because no explicit defn is involved
and =. is the same as =: .



----- Original Message -----
From: Raul Miller <[EMAIL PROTECTED]>
Date: Tuesday, August 7, 2007 10:28
Subject: Re: [Jprogramming] Standalone Error wdhandler_base_
To: Programming forum <[email protected]>

> On 8/7/07, Roger Hui <[EMAIL PROTECTED]> wrote:
> > It is misleading to speak of "local definitions in
> > scripts" and "script context", since only explicit
> > defn (m : n) can have local definitions.  If it helps,
> > in Oleg's examples the 0!:0 can be replaced by ".
> > and the effects would be the same.
> 
> I think I remember that this was not the case in the
> past -- that local definitions in scripts would vanish
> when the script ended.
> 
> This seems to no longer be the case.
> 
> So -- you are correct.  But I am surprised.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to