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