I think I understood it. J doesn't support "nested scoping"[1] and fa
is a new and independent scope by itself, separated from MN's local
scope. Hence, inside fa we can't access d, which resides in MN's local
scope.

Am I right?

[1] http://en.wikipedia.org/wiki/Scope_(programming)

2006/9/26, June Kim <[EMAIL PROTECTED]>:
Oh.. I've been thinking so far that the running context(scope) of "toN
fromM y" has to be the local of MN.

When(& from where) is fa(explicit definition) evaluated? I thought it
should've got evaluated before leaving the last line in MN.

I am now doubting my understanding of J's execution model. (any
directions welcomed)

2006/9/26, Henry Rich <[EMAIL PROTECTED]>:
> fa is an explicit definition, and d is not defined inside it.
> d is local to MN.
>
> I really wish that there were some way for modifiers to refer
> by name to private variables in the calling definition.
> But there's not (before J5 you could get around the problem).
>
> For this case, make fa a conjunction and pass d in as an operand.
>
> Henry Rich
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of June Kim
> > Sent: Monday, September 25, 2006 12:51 PM
> > To: Programming forum
> > Subject: [Jprogramming] Local vs. Global (was Re: Base Conversion)
> >
> >    MN=: dyad define
> > 'M N'=.x
> > d=.'0123456789ABCDEF'
> > fa=. 1 : 'm&#.@(d&i.)'
> > fromM=.M fa
> > toN=.N fa^:_1
> > toN fromM y
> > )
> >
> >    16 2 MN 'FF'
> > |domain error: fromM
> > |   toN     fromM y
> >
> > It works when "d" in MN is defined as global with =:. Why does it have
> > to be defined globally?
> >
> > 2006/9/26, June Kim <[EMAIL PROTECTED]>:
> > > Hello
> > >
> > > Base M and N are given, which are any integer number
> > between 2 and 16
> > > inclusive. Do the base conversion on a given number(in string form)
> > > from base M to base N.
> > >
> > > My quick trial follows:
> > >
> > >   d=:'0123456789ABCDEF'
> > >   fromM=: [ #. d i. ]
> > >   toN=:d {~ 13 : 'x&#. ^:_1 y'
> > >   MN=: ([: {: [) toN ] fromM~ [: {. [
> > >
> > >   16 2 MN 'FE'
> > > 11111110
> > >   8 16 MN '732'
> > > 1DA
> > >
> > >
> > > Could you propose a pure tacit version, or more elegant,
> > shorter one?
> > > I bet there are better ones than mine, as always.
> > >
> > > June
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see
> > http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to