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

Reply via email to