I agree with Don's assertion "...the difference in performance is not that large compared to other considerations ." Personally, I find tacit more difficult to read than explicit, not the least because the names I choose for temporary variables in explicit code provide some documentation about my intent.
I'll use tacit for short, simple phrases, like (]}.~[:>:]i:[)"(0 1) NB. Everything in y after last x NB.EG 'someFile.htm' -: '/' (]}.~[:>:]i:[) ' https://some.site.domain/Folder/someFile.htm' because I can figure them out easily but anything much longer than this becomes an impediment to reading, in my experience. On Sat, Jan 21, 2017 at 11:47 AM, Louis de Forcrand <[email protected]> wrote: > On the topic of f., one must be careful when using f. on a recursive verb > (or one that uses another recursive verb). > > Louis > > > On 21 Jan 2017, at 16:22, Don Guinn <[email protected]> wrote: > > > > When does it matter whether a statement is tacit or explicit or a mixture > > of both? Not normally as the difference in performance is not that large > > compared to other considerations. What does matter is when an expression > is > > executed. If all the tokens in an expression are known it runs. That is > > true for both tacit and explicit expressions. So often tacit expressions > > are executed when encountered in a script, much like like preprocessing > in > > C. > > When the results of a tacit expression are assigned to a name it has > > executed. The results of the execution is defining a name. > > > > One interesting aspect of this is that interrupt handlers are explicit > > definitions so there is an unknown token - the argument y. > > > > On Sat, Jan 21, 2017 at 6:05 AM, Jose Mario Quintana < > > [email protected]> wrote: > > > >> Furthermore, if I show the verb, > >> > >> wiy > >> 3 : '52+ +./"1 [ 4=weekday(1 1,:12 31),"0 1/~ y' > >> > >> there is no way to know if is tacit or not because I could have done, > >> > >> wiy=. 3 : '52+ +./"1 [ 4=weekday(1 1,:12 31),"0 1/~ y' > >> > >> or, > >> > >> wiy=. 'weeksinyear' f. > >> > >> Really? > >> > >> > >>> On Saturday, January 21, 2017, Raul Miller <[email protected]> > wrote: > >>> > >>> Speaking of pedantic, (;:'weeksinyear')`:6 is presumably explicit... > >>> > >>> Thanks, > >>> > >>> -- > >>> Raul > >>> > >>> > >>> On Fri, Jan 20, 2017 at 11:44 PM, Henry Rich <[email protected] > >>> <javascript:;>> wrote: > >>> > >>>> Explicit entities are created by the (:) conjunction. Anything else > is > >>>> tacit. > >>>> > >>>> The distinction is notional. We all have little bits of tacit code in > >>> our > >>>> J lines: > >>>> > >>>> maxindex =: (i. >./) array > >>>> > >>>> the (i. >./) is a tiny tacit verb. If you gave it a name it would > >> become > >>>> a named tacit verb. > >>>> > >>>> Sometimes the distinction seems pedantic: > >>>> > >>>> qverb =: 3 : 0"0 > >>>> ... > >>>> ) > >>>> > >>>> Is qverb tacit or explicit? > >>>> > >>>> Answer: tacit. It is not created by (:). It is created by ("). > >>>> > >>>> Henry Rich > >>>> > >>>> > >>>> > >>>>> On 1/20/2017 9:39 PM, William Szuch wrote: > >>>>> > >>>>> Trying to understand when an explicit verb is used in a tacit form. > >>>>> > >>>>> For example if I define v1 which is in a tacit form - does not have > >>>>> reference to arguments but contains the explicit verb rplc. > >>>>> > >>>>> > >>>>> v1 =: [: ". rplc&(LF;' ') > >>>>> > >>>>> > >>>>> In this case what should v1 be called - an explicit of tacit ?. > >>>>> > >>>>> > >>>>> v2 =: v1 f. > >>>>> > >>>>> > >>>>> If I now use f. to replace rplc in v1 then v2 is an explicit. > >>>>> > >>>>> The advantage of using f. is that if rplc has no public names then v2 > >>> has > >>>>> no > >>>>> public names. > >>>>> > >>>>> This can be useful is removing public names in a verb. > >>>>> > >>>>> > >>>>> Any comments to help with my understanding of tacits. > >>>>> > >>>>> > >>>>> Regards > >>>>> > >>>>> Bill Szuch > >>>>> > >>>>> ------------------------------------------------------------ > >> ---------- > >>>>> 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 > -- Devon McCormick, CFA Quantitative Consultant ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
