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

Reply via email to