x._base_=.1 2 3
|spelling error
|   x._base_=.1 2 3
|   ^

2011/9/26 Don Guinn <[email protected]>

> Well, you can get around assigning x and y globally within a function
> with local copula by adding the locale to the name, like x_base_=.1 2
> 3.
>
> But I don't understand what is meant that periods after x and y mess
> up locale assignments.
>
> On Mon, Sep 26, 2011 at 10:51 AM, The Geeko <[email protected]> wrote:
> > Raul Miller <rauldmiller@...> writes:
> >
> >> Have you read the second paragraph here:
> >>    http://www.jsoftware.com/help/dictionary/d001.htm
> >>
> >> or footnote 3, here:
> >>    http://jsoftware.com/help/dictionary/d310n.htm
> >
> > Yes, I have read these passages several times...
> >
> >>
> >> ?
> >>
> >> My reading of these two concepts suggests that x and y are sometimes
> >> prohibited as global names.  And, it's easy enough to conduct an
> >> experiment to test this concept:
> >
> > No.  The way I understand it is that, once you define a name as local
> using the
> > local copula ('=.'), you may not use the global copula ('=:') to assign a
> value
> > to it.  Within a verb's definition, the local copula is automatically
> provided
> > for one or more of {x, y, m, n, u, v} depending on contextual
> considerations.
> >
> >>
> >>    3 :'y=:0' 0
> >> |domain error
> >> |   y    =:0
> >>
> >> So it looks to me as if the implementation matches the dictionary...
> > Again, no.  The error in the case you have presented is instructing you
> that you
> > have used incorrect syntax; there is a superfluous 0 at the end of the
> sentence
> > which is outside the script.
> >
> > But, you are on the right path... if you try to make a global assignment
> to y
> > *from within* your verb definition, you will get an error.  That is
> stipulated
> > in the Dictionary.  When your verb is defined, it is automatically
> allocated a
> > local variable y (and perhaps others as well -- x, m, etc.).  Because of
> this,
> > you may not -- from within the function -- use a global copula to assign
> a value
> > to y.
> >
> > However, in an interactive session, you may have reason to define a
> global y.
> > Indeed, this is permissible by the language.  And even namelist, a
> prominent
> > verb of the language, correctly reports its existence.
> >
> >>
> >> Yes, originally, the language used x. y. u. v. m. n.
> >>
> >> However, this caused problems with the syntax for locales.
> > Aha!  Thank you for this insight!  I supposed that there was a logical
> > explanation.
> >
> >> Arguably, the fault is in the syntax for locales rather than in those
> >> names.  That said, changing how locales work would have been a huge
> >> change and may have introduced additional issues.
> > Understood.
> >
> >> So, if we went back to the old way of doing things, and if y. is a
> >> reference to an object, how do we access the object?
> > I will need to study this area more... but I do know this:  we can still
> use x.,
> > y., m., n., u. and v.  All we need to do is to use the !: foreign
> conjunction
> > (i.e., 9!:49).
> >
> >
> >> Anyways, consistency is only good when it achieves something useful.
> >> Language implementations routinely break consistency when the language
> >> implementer deems the issue worthy.  Thus, for example, in C, you
> >> cannot do:
> >>
> >>    int default= 0;
> >>
> > Of course I cannot make that assignment, since *default* is a reserved
> word in
> > C.  Yet, again, I will beg to differ with you on the point of
> consistency.
> > Consistency is always good when it comes to language
> design/implementation.
> > Breaking rules should only be done when necessary.
> >
> >
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Björn Helgason, Verkfræðingur
Fornustekkum II
781 Hornafirði,
t-póst: [email protected]
gsm: +3546985532
twitter: @flugfiskur
http://groups.google.com/group/J-Programming


Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans

góður kennari getur stigið á tær án þess að glansinn fari af skónum
          /|_      .-----------------------------------.
         ,'  .\  /  | Með léttri lund verður        |
     ,--'    _,'   | Dagurinn í dag                     |
    /       /       | Enn betri en gærdagurinn  |
   (   -.  |        `-----------------------------------'
   |     ) |         (\_ _/)
  (`-.  '--.)       (='.'=)   ♖♘♗♕♔♙
   `. )----'        (")_(") ☃☠
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to