Thanks, Fraser, for clarifying its purpose.

> The primitives script should not be extended with a wide range of
secondaries.

Working on a set of NuVoc-compatible cover verbs, I've changed my mind and
now I agree with you.

On Mon, Mar 5, 2018 at 9:21 AM, Fraser Jackson <fraser.jack...@xtra.co.nz>
wrote:

> It is good to see renewed interest in using the 'primitives' script.  Its
> original purpose was to enable use of J in teaching environments where the
> use of symbols instead of words for function names added difficulty.
>
> Camel Case was an option, but an alternative way of treating it would be
> appropriate.  It would be easy to modify the script to erase the names
> defined and replace them with CamelCase ones.
>
> For a user who wants to use names for specific alternative uses of the
> primitives,  appropriate names are included but all of the definitions are
> linked directly to replacement by the primitive, so there is a great deal
> of redundancy.  There is no attempt to enforce valency so some strange
> verbal expressions execute .  It is essential for students to learn about
> valency and order of execution right at the beginning of using J.  This
> approach was adopted in the hope that as students advanced they would learn
> the primitives, their brevity and the relationships between most monadic
> and dyadic uses.
>
> The 'primitives' script was not revised when NuVoc was introduced, but it
> would be good to have a careful consideration of ways of matching the
> names.  They should be kept as brief as possible and not extend to phrases.
>
> The primitives script should not be extended with a wide range of
> secondaries.  Their place is much better in scripts for a specific purpose
> or field of application.
>
> Fraser
>
>
>
>
>
>
>
> -----Original Message-----
> From: Chat <chat-boun...@forums.jsoftware.com> On Behalf Of Ian Clark
> Sent: Monday, 5 March 2018 6:05 PM
> To: c...@jsoftware.com
> Subject: Re: [Jchat] Where is J going ?
>
> I suggest Fit isn't given a cover word of its own, but used to define new
> "secondaries" to match www.code.jsoftware.com/wiki/NuVoc exactly.
> Also (maybe as an option?) extra code is inserted to enforce valency.
> Examples:
>
>
>    Reverse=: |. : [:
>
>    Rotate=: [: : |.
>
>    Shift=: |.!._
>
>    ShiftRight1=:_1&Shift
>
>    Reverse i.6
>
> 5 4 3 2 1 0
>
>    2 Rotate i.6
>
> 2 3 4 5 0 1
>
>    2 Shift i.6
>
> 2 3 4 5 _ _
>
>    ShiftRight1 i.6
>
> _ 0 1 2 3 4
>
>
> I also suggest that if any "beginner" has got as far as using Fit, they've
> long abandoned this addon in favor of using the primitives directly.
>
>
> More generally, here's my list of Improvements (?) to 'general/primitives'
>
>
> opt for CamelCase flag without editing the script
>
>
> Load into separate locale, and bring wds thru as needed
>
> Remove unused words, on basis of the defining script (4!:3)
>
> Use a phrase, not just the bare primitive (…see above)
>
> in various forms of: (;.), (|) …etc
>
> i.e. make the addon EXACTLY compatible with www.code.jsoftware.com/wiki/
> NuVoc
>
> Use Monad/Dyad to enforce the valency (…see above)
>
> (make it an option, in the same way as CamelCase)
>
> Extend to Foreigns too
>
> may need to propose a new set of "Secondaries"
>
> Intelligent error message when an unloaded word is called.
>
> -provide a stub for every known secondary, which displays some helpful
> guidance to user, e.g. which script to load
>
> Include Secondaries from Dic.
>
> http://www.jsoftware.com/help/dictionary/intro28.htm
>
>
>
> On Mon, Mar 5, 2018 at 4:27 AM, Don Guinn <dongu...@gmail.com> wrote:
>
> > The problem is that fit only applies to primitives.
> >
> > On Mar 4, 2018 9:23 PM, "Ian Clark" <earthspo...@gmail.com> wrote:
> >
> > > @Jose
> > > I was just about to tell Don that.
> > >
> > > IMO this is a clumsy way of adjusting the behavior of a script at
> > > load time.
> > > It will trip up a beginner.
> > >
> > > This is one of the first alterations I'd make. But I'm not sure
> > > what's
> > the
> > > best way to do it.
> > > What first comes to mind is…
> > >
> > > (1) ask user to enter:
> > >    CamelCase_z_=: 1
> > > before loading the script.
> > >
> > > (2) (my preferred)
> > > Have alternative scripts, e.g.
> > >    load 'general/lowercaseprimitives'        NB. a trivial script which
> > > loads: general/primitives
> > >    load 'general/CamelCasePrimitives'     NB. makes the LIT adjustment,
> > by
> > > any user-transparent way.
> > >
> > > This problem (of loading same script with different options) turns
> > > up frequently for me.
> > > What's the best-practice way of doing it, which is likely to be
> > > instantly understood by a beginner?
> > >
> > >
> > > On Mon, Mar 5, 2018 at 4:11 AM, Jose Mario Quintana <
> > > jose.mario.quint...@gmail.com> wrote:
> > >
> > > > The addon script has the names as you described.  However, it
> > > > contains
> > > the
> > > > lines,
> > > >
> > > > NB.  Place  NB. on next line to have CamelCase form LIT =: tolower
> > > > each LIT
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Sun, Mar 4, 2018 at 2:58 PM, Brian Schott
> > > > <schott.br...@gmail.com>
> > > > wrote:
> > > >
> > > > > Ian,
> > > > >
> > > > > I like your ideas regarding general/primitives . I just did a
> > > > > load of
> > > the
> > > > > addon and was surprised that they are lowercase. My memory
> > > > > suggested
> > > they
> > > > > were uppercase initial letters like the Vocabulary. But I never
> > > > > use
> > > them,
> > > > > so take what I say with that in mind. I was please to see that
> > > > > in jqt
> > > an
> > > > F1
> > > > > tap when the cursor is near the primitive, or near the
> > > > > spelled-out primitive, took me to the Vocabulary page. I was
> > > > > expecting to be
> > > > delivered
> > > > > to the Dictionary page, though. Maybe that's something I have
> > > > > not configured properly on my Mac. Another disappointment on my
> > > > > Mac was
> > > that
> > > > > shift+F1 did not take me to NuVoc (again, maybe a config issue).
> > > > >
> > > > > And, all of F1 access leaves out jconsole and jhs as far as I
> > > > > can
> > tell.
> > > > So,
> > > > > I suspect new users are steered to jqt.
> > > > >
> > > > > I personally lean toward jconsole in much of my J use, btw.
> > > > >
> > > > >    JVERSION
> > > > > Engine: j806/j64/darwin
> > > > > Release: commercial/2017-11-06T10:20:33
> > > > > Library: 8.06.09
> > > > > Qt IDE: 1.6.2/5.6.3
> > > > > Platform: Darwin 64
> > > > > Installer: J806 install
> > > > > InstallPath: /users/brian/j64-806
> > > > > Contact: www.jsoftware.com
> > > > > ------------------------------------------------------------
> > ----------
> > > > > 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
> > ----------------------------------------------------------------------
> > 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
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to