Got it! Thanks On Tue, Jul 25, 2017 at 6:30 PM, Raul Miller <[email protected]> wrote:
> Sure: you rejected that approach because of what the resulting verb > contained. > > So, I changed my mind and went with this, instead. > > Thanks, > > -- > Raul > > > On Tue, Jul 25, 2017 at 6:09 PM, Jose Mario Quintana > <[email protected]> wrote: > > :D Now I am the one quite confused with your notion of "pure tacit verb" > > based on transitivity. Why? Because, when I pointed out that the verb, > > > > '`u v' (1 : '(m)=:y') > > > > had an explicit appendage, your response was, > > > > if we claim that ('abc' is) is not a "pure tacit verb" > > because it contains a non-tacit adverb, that logic would > > suggest that +/ is not a pure tacit verb because it contains > > an adverb. > > > > Would you mind to clarify your early claim, > > > > And yet, all of your verbs can be pure tacit. > > For example, you could use > > is=:1 :'(m)=:y' > > > > by providing a specific example of using your adverb is to produce a > > "pure tacit verb" according to your notion based on transitivity? > > > > > > On Mon, Jul 24, 2017 at 10:59 PM, Raul Miller <[email protected]> > wrote: > > > >> Except, 'A' (1 : '(m)=: y') would not be an example of a either a pure > >> tacit verb, especially when you consider (transitively) its components > >> (which are not all verbs, and most certainly are not all pure tacit > >> verbs). > >> > >> (Which, perhaps, is to suggest that once again I do not really know > >> what you are thinking.) > >> > >> Thanks, > >> > >> -- > >> Raul > >> > >> On Mon, Jul 24, 2017 at 7:03 PM, Jose Mario Quintana > >> <[email protected]> wrote: > >> > That makes sense; transitive pure (I hope you do not mind if I use > that > >> > term) tacit verbs seem to be an interesting notion. > >> > > >> > I think an argument can be made that transitive pure tacit verbs might > >> not > >> > be necessarily tacit verbs, for example, those produced by your adverb > >> is : > >> > > >> > ( tptv=. 'A' is=. 1 : '(m)=: y' ) NB. A transitive pure tacit verb > >> > 'A' (1 : '(m)=: y') > >> > > >> > To what word does the name y , in the linear representation of tptv > >> (that > >> > is, in the line above), refer? According to the Dictionary "an adverb > >> may > >> > refer to its left argument (using u) as well as to the arguments of > the > >> > resulting verb (x and y)." Therefore, the name y refers to the > right > >> > argument of the resulting verb, which is none other than the verb > tptv . > >> > The same justification can be made for arguments other than the 'A' > >> value. > >> > > >> > Either way, while testing my adverb tp I was disappointed that > >> sometimes > >> > one has to name its argument; otherwise, one might get an error, > >> > > >> > % tp tp > >> > |open quote > >> > | (' (1 : 0) > >> > (%) y > >> > : > >> > x (u ] (%)) y > >> > )) y > >> > | ^ > >> > | A=.''1 :('('' (1 : 0) > >> > (%) y > >> > : > >> > x (u ] (%)) y > >> > )) y';':';'x (u ] ('' (1 : 0) > >> > (%) y > >> > : > >> > x (u ] (%)) y > >> > ))) y') > >> > > >> > I understand why the error occurs but I was wondering if there is a > >> utility > >> > adverb similar to fix (f.) for explicit constructions where the names > >> that > >> > occur in the definition of an explicit word (entity) are (recursively) > >> > replaced by their referents. I am asking this question just out of > >> > curiosity; I am aware that locales are used to try to avoid name > >> collisions. > >> > > >> > > >> > On Sat, Jul 22, 2017 at 10:34 PM, Raul Miller <[email protected]> > >> wrote: > >> > > >> >> Actually, my thought was that if the presence of the explicit > >> >> conjunction is transitive for verb structure, the presence of all > >> >> non-verbs would similarly be transitive in the structure. This would > >> >> mean that only trains composed of verbs could truly be pure. > >> >> > >> >> That said I do understand that that was not your thought. > >> >> > >> >> Thanks, > >> >> > >> >> -- > >> >> Raul > >> >> > >> >> > >> >> On Sat, Jul 22, 2017 at 10:22 PM, Jose Mario Quintana > >> >> <[email protected]> wrote: > >> >> > Unfortunately "that logic would suggest that +/ is not a pure tacit > >> verb > >> >> > because it contains an adverb" might work for your notion of "pure > >> tacit > >> >> > verb" but certainly does not work for the notion I had in mind > when I > >> >> wrote > >> >> > "producing (pure) tacit verbs." I meant pure tacit in the sense of > >> pure: > >> >> > "not mixed with anything else" or "containing nothing that does not > >> >> > properly belong" or "free of any contamination [no offense]." > >> >> > > >> >> > Who knows? Maybe your notion of a pure tacit verb could prevail > and > >> be > >> >> > very convenient. For instance, if someone asks: > >> >> > > >> >> > How can I make the verb load tacit? > >> >> > > >> >> > One could answer: > >> >> > > >> >> > You can make the verb load a pure tacit verb easily using the tacit > >> >> > purifier adverb, > >> >> > > >> >> > tp=. 1 : 0 NB. Beware of the line-wrapping... > >> >> > A=. (''''' 1 : (''' , ] , ' y'' ; '':'' ;''x (u ] ' , ] , (') > >> y'')')"_) > >> >> > '(' , ((5!:5)<'u') , ')' > >> >> > ". 'A=. ' , A > >> >> > A f. > >> >> > ) > >> >> > > >> >> > puretacitload=. load tp > >> >> > > >> >> > puretacitload'plot' > >> >> > plot (1 + %:)^:(i.13) 0 > >> >> > > >> >> > You can can also make a tacit verb pure tacit, > >> >> > > >> >> > pure_rd=. %tp NB. Pure tacit reciprocal divide > >> >> > > >> >> > pure_rd 3 > >> >> > 0.333333 > >> >> > 2 pure_rd 3 > >> >> > 0.666667 > >> >> > > >> >> > You can make pure_rd even more pure, and so on, > >> >> > > >> >> > pure_pure_rd=. pure_rd tp > >> >> > pure_pure_rd 3 > >> >> > 0.333333 > >> >> > 2 pure_pure_rd 3 > >> >> > 0.666667 > >> >> > > >> >> > The pure pure tacitness of pure_pure_rd can be appreciated in all > its > >> >> > splendor, > >> >> > > >> >> > pure_pure_rd > >> >> > '' (1 : 0) > >> >> > (pure_rd) y > >> >> > : > >> >> > x (u ] (pure_rd)) y > >> >> > ) > >> >> > > >> >> > where > >> >> > pure_rd > >> >> > '' (1 : 0) > >> >> > (%) y > >> >> > : > >> >> > x (u ] (%)) y > >> >> > ) > >> >> > > >> >> > ;) > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > On Mon, Jul 17, 2017 at 7:12 PM, Raul Miller < > [email protected]> > >> >> wrote: > >> >> > > >> >> >> Given is=:1 :'(m)=:y' > >> >> >> > >> >> >> if we claim that ('abc' is) is not a "pure tacit verb" because it > >> >> >> contains a non-tacit adverb, that logic would suggest that +/ is > not > >> a > >> >> >> pure tacit verb because it contains an adverb. We can certainly > say > >> >> >> that +/ is a tacit verb, but it's not purely made of pure tacit > >> >> >> verbs... > >> >> >> > >> >> >> --- > >> >> >> > >> >> >> As for the use of globals for arguments, pure tacitness seems even > >> >> >> lower there, both because of the use of (globally) named > arguments, > >> >> >> and because of the introduction of a potential failure mode (where > >> >> >> "unrelated" verb invocations can stomp on each other). > >> >> >> > >> >> >> Thanks, > >> >> >> > >> >> >> -- > >> >> >> Raul > >> >> >> > >> >> >> > >> >> >> > >> >> >> On Mon, Jul 17, 2017 at 6:56 PM, Jose Mario Quintana > >> >> >> <[email protected]> wrote: > >> >> >> > Exactly, you might have the right to say, > >> >> >> > > >> >> >> > " > >> >> >> > And yet, all of your verbs can be pure tacit. > >> >> >> > > >> >> >> > For example, you could use > >> >> >> > > >> >> >> > is=:1 :'(m)=:y' > >> >> >> > " > >> >> >> > > >> >> >> > but the verb, > >> >> >> > > >> >> >> > I_am_a_pure_tacit_verb=: '`u v' is > >> >> >> > > >> >> >> > fails, > >> >> >> > > >> >> >> > I_am_a_pure_tacit_verb +/`*: > >> >> >> > |domain error: I_am_a_pure_tacit_verb > >> >> >> > | (m) =:y > >> >> >> > > >> >> >> > because "the biggest problem here is the use of globals for > >> >> arguments." > >> >> >> > How come? Because the verb has an explicit appendage, > >> >> >> > > >> >> >> > I_am_a_pure_tacit_verb > >> >> >> > '`u v' (1 : '(m)=:y') > >> >> >> > > >> >> >> > Despite its relative complexity and potential performance > issues , > >> I > >> >> >> rather > >> >> >> > use (while employing an official J interpreter) a tacit verb > such > >> as, > >> >> >> > > >> >> >> > nrep=: ('3!:2 a.{~' ,&": a. i. 3!:1) NB. :) > >> >> >> > is=: ".@:('(' , nrep@:[ , ')=: ' , nrep@:]) f. > >> >> >> > > >> >> >> > because, in contrast, it "... quacks and swims like a duck..." > >> >> >> > > >> >> >> > is > >> >> >> > ".@:('(' , ('3!:2 a.{~' ,&": a. i. 3!:1)@:[ , ')=: ' , ('3!:2 > a.{~' > >> >> ,&": > >> >> >> a. > >> >> >> > i. 3!:1)@:]) > >> >> >> > > >> >> >> > '`u v' is +/`*: > >> >> >> > ┌───────┬──┐ > >> >> >> > │┌─┬───┐│*:│ > >> >> >> > ││/│┌─┐││ │ > >> >> >> > ││ ││+│││ │ > >> >> >> > ││ │└─┘││ │ > >> >> >> > │└─┴───┘│ │ > >> >> >> > └───────┴──┘ > >> >> >> > > >> >> >> > u@:v f. > >> >> >> > +/@:*: > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > On Sun, Jul 16, 2017 at 3:37 PM, Raul Miller < > >> [email protected]> > >> >> >> wrote: > >> >> >> > > >> >> >> >> Sure, and the biggest problem here is the use of globals for > >> >> arguments. > >> >> >> >> > >> >> >> >> The verbs themselves can be pure, but all we're really doing is > >> >> >> >> rearranging the deck chairs. > >> >> >> >> > >> >> >> >> Thanks, > >> >> >> >> > >> >> >> >> -- > >> >> >> >> Raul > >> >> >> >> > >> >> >> >> > >> >> >> >> On Sun, Jul 16, 2017 at 3:33 PM, Jose Mario Quintana > >> >> >> >> <[email protected]> wrote: > >> >> >> >> > At least we agree, I think, on one thing " in explicit > >> programming > >> >> >> >> > [typically] names refer to arguments while in tacit > programming > >> >> they > >> >> >> do > >> >> >> >> > not." Thus, is not just a matter of tacit aesthetics, there > are > >> >> some > >> >> >> >> > consequences which might be difficult to evade: > >> >> >> >> > > >> >> >> >> > ('`u v') =: +/`*: > >> >> >> >> > u@:v f. > >> >> >> >> > +/@:*: > >> >> >> >> > > >> >> >> >> > ('`u v') =:: +/`*: NB. Jx > >> >> >> >> > ┌───────┬──┐ > >> >> >> >> > │┌─┬───┐│*:│ > >> >> >> >> > ││/│┌─┐││ │ > >> >> >> >> > ││ ││+│││ │ > >> >> >> >> > ││ │└─┘││ │ > >> >> >> >> > │└─┴───┘│ │ > >> >> >> >> > └───────┴──┘ > >> >> >> >> > u@:v f. > >> >> >> >> > +/@:*: > >> >> >> >> > > >> >> >> >> > ('`u v') is +/`*: NB. > >> >> >> >> > |domain error > >> >> >> >> > | (m) =:y > >> >> >> >> > is > >> >> >> >> > 1 : '(m)=:y' > >> >> >> >> > > >> >> >> >> > So, assuming I understood the intended use of your adverb > is, > >> I am > >> >> >> >> afraid > >> >> >> >> > your adverb cannot be used without typical limitations. > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > On Sun, Jul 16, 2017 at 1:59 PM, Raul Miller < > >> >> [email protected]> > >> >> >> >> wrote: > >> >> >> >> > > >> >> >> >> >> I think you are trying to evade a basic issue, which is that > >> the > >> >> >> >> >> distinction between tacit and explicit programming is that > in > >> >> >> explicit > >> >> >> >> >> programming names refer to arguments while in tacit > programming > >> >> they > >> >> >> >> >> do not. > >> >> >> >> >> > >> >> >> >> >> Altering the implementation to come up with evasive ways of > >> having > >> >> >> >> >> named arguments is what's stinky, from my point of view. > >> >> >> >> >> > >> >> >> >> >> Thanks though, > >> >> >> >> >> > >> >> >> >> >> -- > >> >> >> >> >> Raul > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> On Sun, Jul 16, 2017 at 12:13 PM, Jose Mario Quintana > >> >> >> >> >> <[email protected]> wrote: > >> >> >> >> >> > Nice try but when I am wearing my hard-core tacit > programmer > >> >> hat I > >> >> >> do > >> >> >> >> not > >> >> >> >> >> > like to look at blatant ugly explicit definitions which > are > >> >> >> referring > >> >> >> >> to > >> >> >> >> >> > arguments. ;) Heck, I do not like the smell of verbs of > this > >> >> kind > >> >> >> >> >> either, > >> >> >> >> >> > > >> >> >> >> >> > stinky=. ('''' , [ , '''' , a. {~ 38 40 52 32 58 39 40 120 > >> 41 61 > >> >> >> 58 32 > >> >> >> >> >> 121 > >> >> >> >> >> > 39 41"_) 128!:2 ] > >> >> >> >> >> > > >> >> >> >> >> > PS. Feel free to bring any argument suggesting that verbs > >> >> involving > >> >> >> >> side > >> >> >> >> >> > effects are not tacit. > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > On Fri, Jul 14, 2017 at 6:46 PM, Raul Miller < > >> >> >> [email protected]> > >> >> >> >> >> wrote: > >> >> >> >> >> > > >> >> >> >> >> >> And yet, all of your verbs can be pure tacit. > >> >> >> >> >> >> > >> >> >> >> >> >> For example, you could use > >> >> >> >> >> >> > >> >> >> >> >> >> is=:1 :'(m)=:y' > >> >> >> >> >> >> > >> >> >> >> >> >> That said, there is an argument that side effects make a > >> verb > >> >> >> impure. > >> >> >> >> >> But I > >> >> >> >> >> >> am ignoring that kind of thing. > >> >> >> >> >> >> > >> >> >> >> >> >> Thanks, > >> >> >> >> >> >> > >> >> >> >> >> >> -- > >> >> >> >> >> >> Raul > >> >> >> >> >> >> > >> >> >> >> >> >> On Friday, July 14, 2017, Jose Mario Quintana < > >> >> >> >> >> >> [email protected]> > >> >> >> >> >> >> wrote: > >> >> >> >> >> >> > >> >> >> >> >> >> > That is a different matter. > >> >> >> >> >> >> > > >> >> >> >> >> >> > Indeed, "=: works and is simple" as long as one is not > >> >> concerned > >> >> >> >> about > >> >> >> >> >> >> > producing (pure) tacit verbs. In that latter context, > >> >> >> apparently, > >> >> >> >> it > >> >> >> >> >> >> does > >> >> >> >> >> >> > not work well, is not simple to use and its forced use > >> might > >> >> >> >> trigger > >> >> >> >> >> >> gross > >> >> >> >> >> >> > space and time inefficiencies (for example, as > discussed > >> >> >> recently > >> >> >> >> in > >> >> >> >> >> the > >> >> >> >> >> >> > "[Jprogramming] Side effects in tacit expressions" > >> thread). > >> >> >> >> >> >> > > >> >> >> >> >> >> > Introducing new primitives is, in my view, a matter of > >> >> >> perspective > >> >> >> >> and > >> >> >> >> >> >> > opportunity. I thought the verbs =.. and =:: had > >> sufficient > >> >> >> >> merits > >> >> >> >> >> and > >> >> >> >> >> >> I > >> >> >> >> >> >> > had the means to include them in the version of the J > >> >> >> interpreter > >> >> >> >> >> that I > >> >> >> >> >> >> > use almost all the time (Jx). I just thought this > could > >> be > >> >> an > >> >> >> >> >> >> opportunity > >> >> >> >> >> >> > to make the official interpreter a little more tacit > >> friendly > >> >> >> for > >> >> >> >> the > >> >> >> >> >> >> > benefit of other tacit programming hard-core fans; > that is > >> >> all. > >> >> >> >> >> >> > > >> >> >> >> >> >> > In any case, there are other much more important > >> unfortunate > >> >> >> >> >> omissions, > >> >> >> >> >> >> in > >> >> >> >> >> >> > current official implementations, that drastically > hinder > >> >> tacit > >> >> >> >> >> >> programming > >> >> >> >> >> >> > (but that is yet another topic for another time). > >> >> >> >> >> >> > > >> >> >> >> >> >> > > >> >> >> >> > >> >> >> > ------------------------------------------------------------ > >> >> ---------- > >> >> >> > For information about J forums see > http://www.jsoftware.com/forum > >> >> s.htm > >> >> >> ------------------------------------------------------------ > >> ---------- > >> >> >> For information about J forums see http://www.jsoftware.com/forum > >> s.htm > >> >> >> > >> >> > ------------------------------------------------------------ > >> ---------- > >> >> > For information about J forums see http://www.jsoftware.com/forum > >> s.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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
