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

Reply via email to