Perhaps your three arguments can be extended to "only use tacit code which belong to or contain special combinations<https://code.jsoftware.com/wiki/Vocabulary/SpecialCombinations>, elsewhere use explicit code”.
R.E. Boss -----Original Message----- From: Programming <[email protected]> On Behalf Of Henry Rich Sent: dinsdag 2 juni 2020 04:50 To: [email protected] Subject: [Jprogramming] tacit modifiers WAS: tacit Not responding to your questions. There was, in J4 long ago, a beautiful language of tacit modifiers. I never found a modifier I needed that I couldn't write tacitly. JfC had a rapturous chapter about it. Who used it? Who understood it? I think I can tell you: Roger, Pepe, Raul, Dan (Bron), Martin (Neitzel), and I. (Pascal wasn't around then.) In J5 Roger euthanized it. (Actually, his scalpel slipped and he left it in a permanent vegetative state.) I wept. Then I got over it. Others still attend at the bedside; I admire their fidelity. The important facts are: * there is nothing you can do with the tacit-modifier language that you can't do explicitly * the explicit form is much easier to understand * the modifier step is never important for performance, because it happens before the verbs get executed. Now that the task of maintaining the JE has fallen to me, I am glad Roger did what he did, because having all those needless forms would slow down parsing and add to the number of special cases involved. Get a copy of the J4 Dictionary and study the parser as an exhibit of Ken mastery of computational forms. Then fuggedaboutit. Your onsub is fine. Henry Rich On 6/1/2020 10:30 PM, Hauke Rehr wrote: > I usually do tacit programming with J, but what I mean by this is I > don’t use x or y that is I can write tacit _verbs_ only. > I know one can be tacit on modifier level etc but I didn’t ever learn > how. > > 1. is there any good place to start learning? > if not, would anyone mind putting together > some material on this? > 2. here is an example of something that in terms > of data manipulation is not very J-ish > but let’s assume I need to do it this way > for some reason: > onsub =: 2 : 'n&{. , n&}.@:(n&{."1)<mailto:n&%7d.@:(n&%7b.%221)> ,. > u@:(n&}."1)@(n&}.)<mailto:u@:(n&%7d.%221)@(n&%7d.)>' > ( > first I wrote it as an adverb without all the 'n&' parts, > then I generalized by adding them – it’s repetitive > but it does what I want it to do > ) > usage is like > |. onsub 2 mat =: ? 5 6 $ 20 > reversing (mirror) the 3 by 4 lower right submatrix > > (a) how to write this without reference to u or n? > (b) what if I wanted to use it like this: > (|.;#) onsub 2 mat > with the result like everything happening in onsub > after application of u will work on its >@{. > and after everything is done its }. will be ;ed. > > btw feel free to alter this thread’s subject, I just don’t know what > direction this will take so I picked the broad 'tacit' key > > -- This email has been checked for viruses by AVG. https://www.avg.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
