Ah I see. You mean that (...)}y is a 'valent' (= incomplete)
construction, and so is (v1 y)}(v2 y). Right. Then there's logic
there... ok :)

Anyway thanks for the discussion, everybody. I did what I wanted. And
finished up with one big explicit adverb, using both x and [ ].

m1=:1 :'[x}~(_1 1*[:{.])`(_2{.])`(4$0:)}+x{['  NB. take a row, modify
it in two places, put it back

Now I think a better way would probably be to use some complex index,
like (<x;_2{.]) and refactor my verbs.... Maybe later.


On Fri, Jan 6, 2017 at 3:41 AM, Henry Rich <[email protected]> wrote:
> Not about logic??  You wanna step outside and settle this like men? :)
>
> (v0`v1`v2)} y ↔ (v1 y)} (v2 y)
>
> if that were instead interpreted as (v0 y) (v1 y)} (v2 y), it would be
> changing the valence of the verb, which is never done anywhere in J, is it?
> Since the monad and dyad cases of a primitive are completely independent,
> this would be as radical as changing } to ~ .
>
> Nevertheless, illogical as your way is, I would rather have it your way.  I
> have often wanted (v0`v1`v2)} y to mean
> (v0 y) (v1 y)} (v2 y), and never wanted it to mean what it does.
>
> However, I don't think the improvement would justify the effort and the
> incompatible change.
>
> Henry Rich
>
>
>
>
> On 1/5/2017 8:24 PM, Moon S wrote:
>>
>> Aha. I was hoping it's an error in the documentation
>>
>> x (v0`v1`v2)} y  ↔  (x v0 y) (x v1 y)} (x v2 y)
>> (v0`v1`v2)} y ↔ (v1 y)} (v2 y)  NB. it would be logical to have (v0 y)
>> on the left. but it's not about logic!
>> (v1`v2)} y ↔ (v1 y)} (v2 y)
>>
>> On Fri, Jan 6, 2017 at 3:21 AM, Henry Rich <[email protected]> wrote:
>>>
>>> You are using the verb (monad }).  You need (dyad }).
>>>
>>> Henry Rich
>>>
>>>
>>> On 1/5/2017 8:16 PM, Moon S wrote:
>>>>
>>>> Hm, and v0`v1`v2 has some quirks...
>>>>
>>>>      v0=:_1 1&*@{.   NB. head item, multiplied by _1 1
>>>>      v1=:_2&{.          NB. two last items show the place where to put
>>>> the
>>>> above
>>>>      v2=:0 0 0 0"_     NB. initial vector
>>>>
>>>>      v0 5 2 3
>>>> _5 5
>>>>      v1 5 2 3
>>>> 2 3
>>>>      v2 5 2 3
>>>> 0 0 0 0
>>>>
>>>>      (_5 5)(2 3) } (0 0 0 0)   NB. as nouns, this all works
>>>> 0 0 _5 5
>>>>
>>>>      v0`v1`v2} 5 2 3
>>>> |rank error
>>>>
>>>>
>>>> Even simpler example misbehaves:
>>>>
>>>>      5 (2}) 1 1 1 1
>>>> 1 1 5 1
>>>>
>>>>      (5*]) 1
>>>> 5
>>>>      (2*]) 1
>>>> 2
>>>>      (4#]) 1
>>>> 1 1 1 1
>>>>
>>>>      ((5*])`(2*])`(4#]) }) 1 NB. ???
>>>> 1
>>>>
>>>> On Fri, Jan 6, 2017 at 2:29 AM, 'Pascal Jasmin' via Programming
>>>> <[email protected]> wrote:
>>>>>
>>>>> (+/)`%`# 1 : ' ''`f g h'' =. m label_. (f g h) f.'
>>>>> +/ % #
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>> From: Moon S <[email protected]>
>>>>> To: programming <[email protected]>
>>>>> Sent: Thursday, January 5, 2017 7:26 PM
>>>>> Subject: Re: [Jprogramming] Tacit definition involving adverb argument
>>>>>
>>>>> Ah! The special form for }
>>>>>
>>>>> x (v0`v1`v2)} y
>>>>>
>>>>> Great!
>>>>>
>>>>> What about a user-defined adverb? If I define an adverb to pretend I
>>>>> can have three parameters.
>>>>>
>>>>>
>>>>> On Fri, Jan 6, 2017 at 1:53 AM, 'Pascal Jasmin' via Programming
>>>>> <[email protected]> wrote:
>>>>>>
>>>>>> 11 22 33&( 0:`(<:@])`[}) 2
>>>>>> 11 0 33
>>>>>>
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: Moon S <[email protected]>
>>>>>> To: programming <[email protected]>
>>>>>> Sent: Thursday, January 5, 2017 6:36 PM
>>>>>> Subject: [Jprogramming] Tacit definition involving adverb argument
>>>>>>
>>>>>> Is there a tacit definition of such a verb? Is there a way to pass a
>>>>>> value to the adverb?
>>>>>>
>>>>>> f =: 3 : '0 (<:y)} 11 22 33'
>>>>>>
>>>>>>      f 1
>>>>>> 0 22 33
>>>>>>      f 2
>>>>>> 11 0 33
>>>>>>
>>>>>>
>>>>>> PS. Also, I couldn't suspect that besides a usual definition of dyad
>>>>>> adverb such as
>>>>>>
>>>>>> 1 : ('';':';'...x...m...y...')  NB. explicit defs inside
>>>>>>
>>>>>> there's also a shorter way:
>>>>>>
>>>>>> 1 : '...[...x...]...'  NB. tacit defs inside
>>>>>>
>>>>>> Of course the reading of The Phrases is very useful... but so hard!
>>>>>> ----------------------------------------------------------------------
>>>>>> 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
>>
>> ----------------------------------------------------------------------
>> 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