Eh... for that, I'd probably want a different construct, like:

update=:2 :0
  (m)=:v".m
)

... but only if I wanted it at all, and I do not think I want this.

-- 
Raul


On Tue, Jul 4, 2017 at 3:41 PM, 'Pascal Jasmin' via Programming
<[email protected]> wrote:
> though I didn't define the monadic section of is, there should be one, so
>
> 2 * is 'y' NB. replace y with its double.
>
> or
>
>  *: is 'y'  NB. replace y with its square.
>
> the constant parameter is the assigned variable.
>
> as to ~ (im referring to evoke not passive/reflect)
>
> 'a b'~ is an ill-formed name error, and so no harm in redefining it.
>
> if one of a or b is a verb, then the proposal would be that it would error, 
> but
>
> '`a b'~ would return the gerund of each's ar (so noun and verbs mixed will be 
> natural)
>
> basically 'name(s)'~ would be the "inverse" of 'name(s)' =: boxes of nouns 
> (this already works when just one name)
>
> and '`name(s)'~ would be the "inverse" of '`name(s)' =: gerund.
> ________________________________
> From: Raul Miller <[email protected]>
> To: Programming forum <[email protected]>
> Sent: Tuesday, July 4, 2017 2:55 PM
> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>
>
>
> I do not understand why I want y to be the assigned variable,
> actually. If our motivation is patterned on C, there's no x*=;
>
> More generally, "because we can" as the only motivation for a design
> decision quickly gets us into utterly dysfunctional territory.
>
> It also bothers me that you seem to be suggesting we change ~ in a
> fashion which is incompatible with the current implementation.
>
> Right now:
>
>    m=: *
>    m~ 3
> 9
>
> Changing m~ to return a noun (or, worse, munging the noun/verb
> distinction) has all sorts of other consequences.
>
> Anyways, some changes are good, but I do not see why I should think
> these changes are good.
>
> Thanks,
>
> --
> Raul
>
>
> On Tue, Jul 4, 2017 at 2:30 PM, 'Pascal Jasmin' via Programming
> <[email protected]> wrote:
>> for your is verb, you want y to be the assigned variable to support monadic 
>> verbs.
>>
>>
>> is =: 1 : (':';'(y) =: x u y~'
>>
>> to support x u is 'a b',
>>
>> 'a b'~ would have to be defined as 'a'~ ; 'b'~
>>
>> and then, '`a b c'~ could be defined as (a ar), (b ar), (c ar)
>>
>> where
>>
>> ar =: 1 : '5!:1 <''u'''
>>
>>
>> ________________________________
>> From: Raul Miller <[email protected]>
>> To: Programming forum <[email protected]>
>> Sent: Tuesday, July 4, 2017 2:12 PM
>> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>>
>>
>>
>> It might be interesting to try redefining the dictionary II.E parsing
>> rules at http://www.jsoftware.com/help/dictionary/dicte.htm to support
>> stuff like a+=:i.20
>>
>> That said, you can already do this:
>>
>>    a=:10
>>    is=:1 :(':';'(y)=:(".x) u y')
>>    'a'+is i.20
>> 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
>>
>> And, maybe that's good enough, since it's not really clear what should
>> be done for most of the potential left arguments for =:
>>
>>   b=:9
>>   'a b',is 1
>> |syntax error
>> |       a b
>>
>> Or, for example:
>>
>>    a=:+/`%
>>    '`a',is #`''
>> +-+
>> |#|
>> +-+
>>
>> We could patch those things up, and we could replace the definition
>> with a tacit version based on ". (perhaps with explicit helpers), to
>> allow an =. workalike, but the real problem with this line of thinking
>> is that a C expression like *p+=3 is not what you want to be doing in
>> J. What you should be trying to do is >>understand what the C
>> implementation is doing<< and implementing that understanding in J.
>>
>> And, if you do not understand the C code, you should probably spend
>> some time instrumenting and debugging the C code to build up that
>> understanding. Or, work forward from the original specifications (to
>> the degree that they exist at all - if you get enough people working
>> on a system you'll wind up with all sorts of contradictory details -
>> most of which should be ignored, but some of which people will have
>> come to want and occasionally even need).
>>
>> Anyways this could be a fun exercise - but probably one which should
>> be discarded after completing.
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>>
>> On Tue, Jul 4, 2017 at 1:55 PM, 'Mike Day' via Programming
>> <[email protected]> wrote:
>>> Not multiple assignment,  but copula-related.
>>>
>>> I've often wondered why J doesn't have the C family feature of assignments
>>> such as
>>>    t =: 1 2 3
>>>   [t+=: 3
>>> 4 5 6
>>>
>>> I don't know what it's called,  and I realise it's only an arguably
>>> attractive
>>> feature, not an essential one, but would be useful,  especially when
>>> translating
>>> (or plagiarising) to J from C-like code.
>>>
>>> John Scholes et al managed to include it in Dyalog APL many years ago;  it's
>>> in his "dfns" (dynamic functions, I think) as well as their more
>>> conventional
>>> APL functions and session operations. If I recall correctly,  John spells
>>> out rules
>>> for passing values to variables of local scope within dfns using such
>>> operators.
>>>
>>> Dyalog doesn't have constructs like t++,  though.
>>>
>>> Thanks,
>>> Mike
>>>
>>>
>>> On 04/07/2017 06:40, HenryRich wrote:
>>>>
>>>> Here is a feature that I have wanted for a long time:
>>>>
>>>>
>>>> http://code.jsoftware.com/wiki/System/Interpreter/Requests#Expanded_Multiple_Assignment
>>>>
>>>> It attempts to solve the problem of moving verb arguments into
>>>> variable-names.  Allows defaults and multilevel arguments.  I will 
>>>> implement
>>>> this within a month or so, so get your comments in ASAP.
>>>>
>>>> Henry Rich
>>>>
>>>> ---
>>>> This email has been checked for viruses by AVG.
>>>> http://www.avg.com
>>>>
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>>
>>>
>>> ---
>>> This email has been checked for viruses by Avast antivirus software.
>>> https://www.avast.com/antivirus
>
>>
>>>
>>>
>>> ----------------------------------------------------------------------
>>> 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