[Jprogramming] Tacit or Explicit

Henry Rich henryhrich at gmail.com
Sat Jan 21 04:44:53 UTC 2017


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



More information about the Programming mailing list