0 !: n, do you mean?  It's not explicit.

Henry Rich

On 1/21/2017 7:02 PM, Don Guinn wrote:
It is interesting that running the "load" verb that it provides a private
namespace allowing a script to create local names to work with knowing that
the names disappear when the "load" ends. But "load" blocks access to the
local names of the caller. Where (0 : n) does not create a private
namespace allowing the script to see and create local names for the caller.

On Sat, Jan 21, 2017 at 4:45 PM, Henry Rich <[email protected]> wrote:

No, of course I meant 1 : y etc.

The main difference between explicit and tacit entities is that explicit
entities have a private namespace.

Henry Rich


On 1/21/2017 6:16 PM, Jose Mario Quintana wrote:

However, if the tacitness of a verb would really depend on the process by
which it is produced (the notion that was being entertained), as oppossed
to an intrinsic property of the verb, then there would be no much point in
talking about a difference in performance (tacit vs explicit) because, if
I
am not mistaken, for every explicit verb there woul be a tacit verb with
identical performance and viceversa.

By the way, according to that notion, the verb  - : +  would be
explicit...  Really?


On Saturday, January 21, 2017, Devon McCormick <[email protected]>
wrote:

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]
<javascript:;>>
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] <javascript:;>>
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] <javascript:;>> 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]
<javascript:;>>
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:;>
<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

----------------------------------------------------------------------
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