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

Reply via email to