This thread has got me re-reading NuVoc page "dollarco" with a jaundiced eye https://code.jsoftware.com/wiki/Vocabulary/dollarco
This entire page has problems. It is opaque, unhelpful, misleading, overly terse, logically unsound, uses the passive voice and present participles (which can only confuse readers whose first language is not English), uses j-argon, and the sort of mystification beloved of medics and Victorian savants. Its choice of examples is infelicitous. Its device of underlining parts of sample code using html tags corrupts the code to give Spelling Error when you try to explore previous drafts of the page. (It lapses into the old MoinMoin convention – wasn't it? – of underlining by using "__" as terminators). When I tried to discover via "View History" the original author of such drivel — I found it was *me!!* Eleven years on, I can hardly make head or tail of what I was trying to say. I must have been having a bad day. Was it Mark Twain who said "demned easy reading is demned hard writing"? If so, this page is a rogues' gallery of what he was on about. But its worst sin is totally sidestepping the big issue: defining the monad in terms of the dyad, or vice-versa, inside an explicit definition. This is an elephant trap we've all fallen into. Example: foo =: 3 : 0 0 foo y : x < y ) 3 foo 7 1 3 foo _7 0 foo 7 1 foo _7 0 This is such a common idiom in published code (see the definition of stdlib: load) you'd be forgiven for thinking it's the right way to do it. But if you modify this code to make your own version of foo baa =: 3 : 0 0 foo y : x < y ) …it's easy to miss the fact it calls itself using its original name. Maybe not in such a short example, but in longer code it's an upturned rake in the grass. Wouldn't it be good if you'd used $: in place of: foo in the first place. Trouble is: that doesn't work. The challenge is to explain precisely why not. In babytalk, please, not j-argon, or Gilbertian English. And the NuVoc page "dollarco" is the place to do it. In a week I'll have a stab at it myself, if no one has beaten me to it. But I'll be surprised if someone else can't make a better job of it than I can, in my grey hairs. Ian Clark On Fri, 19 May 2023 at 14:51, Henry Rich <henryhr...@gmail.com> wrote: > See item 1 under 'Common Uses' in > https://code.jsoftware.com/wiki/Vocabulary/dollarco > > Henry Rich > > On 5/19/2023 9:44 AM, 'Rob B' via Programming wrote: > > Apologies I thought I had already sent this message but it got lost…. > > > > Thanks Henry, nuvoc $: does say 'tacit' but I missed that, doh. > > > > Is there any way to achieve what I was trying to do, ie define the dyad > in terms of the monad? > > > > I am on iPadOS 15. > > J701 gives stack error but J903 crashes. > > > > Thanks, Rob. > > > > > >> On 15 May 2023, at 13:49, Henry Rich <henryhr...@gmail.com> wrote: > >> Yes. $: applies only to tacit programs or tacit components of > sentences. > >> > >> The simplest way to get a stack error is > >> > >> $: 0 > >> > >> (but if you can make it crash in 9.4 or later, please report how you > did it and what your JVERSION is) > >> > >> $: means 'execute the verb phrase I was contained in'. $: by itself > means 'execute myself' with nothing to stop the recursion. > >> > >> $: is difficult to define in words. > https://code.jsoftware.com/wiki/Vocabulary/dollarco under More > Information is the best I can do. > >> > >> Henry Rich > >> > >> On 5/15/2023 8:36 AM, Brian Schott wrote: > >>> Reading in Nuvoc I see the following comment. Perhaps, it pertains. > >>> 3. In no case does $: refer to a larger unit than the sentence it > appears > >>> in, for example an explicit definition in which it appears. > >>> ---------------------------------------------------------------------- > >>> 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