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