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]> 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]> 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- > December/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]> 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]> > >>> 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]> 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]> > >>>>> To: Programming forum <[email protected]> > >>>>> 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
