Ok, but a routine being interesting is not sufficient motivation for incorporating it as a language primitive. There are just too many interesting possibilities.
=: works and is simple. Thanks, -- Raul On Thursday, July 13, 2017, Jose Mario Quintana < [email protected]> wrote: > These [0, 1, 2, 3, 4, 5] are more forum instances of use or suggested use > of the verb 4 :'(x)=: y' (or equivalent), > > [0] [Jprogramming] Tacit or Explicit Raul Miller > http://www.jsoftware.com/pipermail/programming/2017- > January/046538.html > > [1] [Jbeta] with effort for inplace assignment performance Raul Miller > http://www.jsoftware.com/pipermail/beta/2016-July/008397.html > > [2] [Jprogramming] copula Raul Miller > http://www.jsoftware.com/pipermail/programming/2014- > November/040246.html > > [3] [Jbeta] Why isn't copula a dyadic verb? Pascal Jasmin > http://www.jsoftware.com/pipermail/beta/2014-November/007754.html > > [4] [Jprogramming] copula Dan Bron > http://www.jsoftware.com/pipermail/programming/2014-June/037704.html > > [5] Jforum: Syntax error on "is =: =:" josemarioquintana > http://www.jsoftware.com/pipermail/general/2002-June/009932.html > > > On Wed, Jul 12, 2017 at 8:11 PM, Jose Mario Quintana < > [email protected] <javascript:;>> wrote: > > > Sure, there are different ways to perform a task, for example, > > > > 2&* 1 2 3 > > 2 4 6 > > +: 1 2 3 > > 2 4 6 > > > > What do you mean by "the rest of that"? > > > > > > On Wed, Jul 12, 2017 at 7:40 PM, Raul Miller <[email protected] > <javascript:;>> > > wrote: > > > >> All [1] needed was > >> > >> add=:4 :0 > >> ((0{::y),'__x')=: ".1{::y > >> ) > >> > >> But I don't really follow the rest of that. > >> > >> Thanks, > >> > >> -- > >> Raul > >> > >> > >> > >> On Wed, Jul 12, 2017 at 7:14 PM, Jose Mario Quintana > >> <[email protected] <javascript:;>> wrote: > >> > The assignments are a consequence of J's agreement; see [0] for > example. > >> > If one wants the effect of 'a b c' =:i.3 4 5 using the verb is (or > a > >> > similar verb) then one can use 'a b c' is i.3 4 5 :) > >> > > >> > How is 'abc' is"0 i.3 4 5 useful? I do not know... Who knows? > >> > > >> > How is the verb is (or a similar verb) useful? See [1, 2] for > >> instance > >> > (not to mention for debugging tacit verbs). > >> > > >> > References > >> > > >> > [0] Rank and Uniformity Roger K.W. Hui > >> > http://www.jsoftware.com/papers/rank1.htm > >> > > >> > [1] [Jprogramming] Dynamic Language Features in J? Oleg Kobchenko > >> > http://www.jsoftware.com/pipermail/programming/2006-Decembe > >> r/004479.html > >> > > >> > [2] [Jprogramming] Saving Nouns as Permanent Data Jose Mario Quintana > >> > http://www.jsoftware.com/pipermail/programming/2008-April/ > >> 010529.html > >> > > >> > > >> > > >> > > >> > > >> > On Wed, Jul 12, 2017 at 4:00 PM, Don Kelly <[email protected] > <javascript:;>> wrote: > >> > > >> >> How is "is" more useful than from x=: y > >> >> > >> >> what is interesting is that > >> >> > >> >> 'abc' is "0 i.3 4 5 displays the i.3 4 5 array but the value of abc > >> >> appears as : although a, b, c correspond to > >> >> > >> >> (<0 1 2; 3; 4){i. 3 4 5 > >> >> > >> >> 19 39 59 > >> >> > >> >> > >> >> In the use of "is" in this case it appears that it > >> >> > >> >> > >> >> whereas 'abc' =: i. 3 4 5 gives stores the noun abc as the array but > >> >> leaves a, b and c undefined > >> >> > >> >> and 'a b c' =:i.3 4 5 gives 3 (4 by 5 )arrays > >> >> > >> >> > >> >> Don Kelly > >> >> > >> >> > >> >> > >> >> On 2017-07-12 11:08 AM, Jose Mario Quintana wrote: > >> >> > >> >>> Maybe I am misunderstanding... Are you trying to imply that one > >> cannot > >> >>> find a verb such as is=: 4 :'(x)=:y' useful? > >> >>> > >> >>> > >> >>> On Tue, Jul 11, 2017 at 8:37 PM, Raul Miller <[email protected] > <javascript:;>> > >> >>> wrote: > >> >>> > >> >>> Ok, so, just to be clear - this has nothing to do with default > >> assignment? > >> >>>> > >> >>>> That said, it's probably intentional that there's no verb form of > =: > >> >>>> (or =.). For example, given > >> >>>> > >> >>>> is=: 4 :'(x)=:y' > >> >>>> > >> >>>> consider: > >> >>>> > >> >>>> 'abc' is"0 i.3 4 5 > >> >>>> > >> >>>> Questions: > >> >>>> > >> >>>> (1) what is > >> >>>> > >> >>>> a+b+c > >> >>>> > >> >>>> (2) how is this useful? > >> >>>> > >> >>>> Thanks, > >> >>>> > >> >>>> -- > >> >>>> Raul > >> >>>> > >> >>>> > >> >>>> On Tue, Jul 11, 2017 at 12:53 PM, 'Pascal Jasmin' via Programming > >> >>>> <[email protected] <javascript:;>> wrote: > >> >>>> > >> >>>>> Don't fixate on just Henry's syntax or default values. > >> >>>>> > >> >>>>> The basic "delegated function assignment" is: > >> >>>>> > >> >>>>> assign =: 4 : '(x) =: y' > >> >>>>> > >> >>>>> its a verb, that can be composed with others (or rewritten for a > >> >>>>> > >> >>>> different/enhanced delegated assignment function) in a wide variety > >> of > >> >>>> ways > >> >>>> that include all of the discussed applications in this thread. > >> >>>> > >> >>>>> problem 1: can only use =: not =. > >> >>>>> > >> >>>>> problem 2: performance issue in any "delegated function > assignment" > >> >>>>> > >> >>>> that wouldn't (or might not) exist if there were verb (and adverb > >> forms I > >> >>>> proposed) forms of copula. > >> >>>> > >> >>>>> I've just repeated previous statements entirely here. Perhaps the > >> >>>>> > >> >>>> mistake I made was not providing an ideal example to your first > >> request. > >> >>>> > >> >>>>> ________________________________ > >> >>>>> From: Raul Miller <[email protected] <javascript:;>> > >> >>>>> To: Programming forum <[email protected] <javascript:;>> > >> >>>>> Sent: Tuesday, July 11, 2017 12:37 PM > >> >>>>> Subject: Re: [Jprogramming] Request for comments: multiple > >> assignment > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> I do not see yet that it would be even possible to do that in a > way > >> >>>>> that takes advantage of in place assignment optimization. The > >> default > >> >>>>> mechanism only kicks in when no value was being assigned, and it > >> seems > >> >>>>> to me that cases where you can meaningly have "no value was being > >> >>>>> assigned so we need a default" already have complexity which > defeats > >> >>>>> the in place assignment optimization. > >> >>>>> > >> >>>>> Worse, though, is that this does not seem like a common case > (which > >> >>>>> suggests that it's best not to optimize for it). > >> >>>>> > >> >>>>> That said, if we're not going to be dealing with code examples > (and > >> I > >> >>>>> certainly cannot think of any - the requirements seem > >> contradictory), > >> >>>>> and we are going to continue discussing this, perhaps we should > move > >> >>>>> to the chat forum? > >> >>>>> > >> >>>>> That said, here's a hypothetical non-example based on Henry's > >> initial > >> >>>>> > >> >>>> post: > >> >>>> > >> >>>>> 'L(0)'=: L,y > >> >>>>> > >> >>>>> For that default value (0) to be relevant, the expression (L,y) > must > >> >>>>> be undefined. But if y were undefined the statement would fail > with > >> an > >> >>>>> error. And if y were defined and the statement does not fail with > an > >> >>>>> error, then that default of (0) can never be used. > >> >>>>> > >> >>>>> Which takes me back to my previous thought which was that taking > >> >>>>> advantage of in place optimizations for this default seems > >> impossible. > >> >>>>> > >> >>>>> So... once again... what are you talking about? > >> >>>>> > >> >>>>> Thanks, > >> >>>>> > >> >>>>> -- > >> >>>>> Raul > >> >>>>> > >> >>>>> > >> >>>>> > >> > ------------------------------------------------------------ > ---------- > >> > 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
