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
>
>
> On Tue, Jul 11, 2017 at 10:48 AM, 'Pascal Jasmin' via Programming
> <[email protected]> wrote:
>>
>>
>>
>> assignment within a delegated function includes default values, handling 
>> unassigned names, and other applications. Although update can be a 
>> "delegated assigment function" append is more relevant to default values.
>>
>> Even if there are just a few "general applications" to delegated assignment, 
>> "other applications" count.  I mentioned append rather than update as a 
>> better example of using default values, but update is still a delegatable 
>> assignment function.  Instead of default values, it uses the "C pattern" u}= 
>> 'name' ... another general feature mentioned in this thread.
>>
>>
>> ________________________________
>> From: Raul Miller <[email protected]>
>> To: Programming forum <[email protected]>
>> Sent: Tuesday, July 11, 2017 10:17 AM
>> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>>
>>
>>
>> In every definition of default assignment that I have seen, update is
>> not supported, does not make sense, and is not implemented.
>>
>> So that is what I am asking about: How does it make sense to optimize
>> for the impossible case?
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>> On Tue, Jul 11, 2017 at 10:07 AM, 'Pascal Jasmin' via Programming
>> <[email protected]> wrote:
>>> fields can often have default values other than null... relevant more to 
>>> append than update.
>>>
>>> But this is more of a comment on "assignment within a delegated function" 
>>> family of processes, which is what =:: and =.. essentially propose.
>>>
>>> For a different proposal of a "string dsl" for default values and type 
>>> restrictions/coercions, than what Henry is hinting towards:
>>>
>>> https://github.com/Pascal-J/type-system-j
>>>
>>> Though it avoids using an assignment function.
>>>
>>>
>>> ________________________________
>>> From: Raul Miller <[email protected]>
>>> To: Programming forum <[email protected]>
>>> Sent: Tuesday, July 11, 2017 9:46 AM
>>> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>>>
>>>
>>>
>>> How can update assignment be relevant when assigning default values?
>>>
>>> Thanks,
>>>
>>> --
>>> Raul
>>>
>>>
>>> On Tue, Jul 11, 2017 at 9:43 AM, 'Pascal Jasmin' via Programming
>>> <[email protected]> wrote:
>>>> pretty much any use of =:
>>>>
>>>> (newrec ;reclookup) update assignwith 'database'
>>>>
>>>>
>>>>
>>>> ________________________________
>>>> From: Raul Miller <[email protected]>
>>>> To: Programming forum <[email protected]>
>>>> Sent: Tuesday, July 11, 2017 9:36 AM
>>>> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>>>>
>>>>
>>>>
>>>> In what sort of cases are in-place optimizations a relevant issue for
>>>> assigning default values?
>>>>
>>>> Thanks,
>>>>
>>>> --
>>>> Raul
>>>>
>>>>
>>>> On Tue, Jul 11, 2017 at 9:06 AM, 'Pascal Jasmin' via Programming
>>>> <[email protected]> wrote:
>>>>> The way I handle that,
>>>>>
>>>>> assignwithC
>>>>> 2 : 0
>>>>> (y) =: u (y~ [ ]) :: (n"_) 1
>>>>> :
>>>>> (y) =: x u (y~ [ ]) :: (n"_) 1
>>>>> )
>>>>>
>>>>>
>>>>> I think the call for =:: and =.. is based on 2 things.
>>>>>
>>>>> 1.  Although defaults and "ORvals"/unassigned default values can be 
>>>>> handled easily enough through J expressions, for 805 anyway, it lost any 
>>>>> inplace optimizations.
>>>>>
>>>>> 2. it only works for =: and not =.
>>>>>
>>>>>
>>>>>
>>>>> ________________________________
>>>>> From: Marshall Lochbaum <[email protected]>
>>>>> To: [email protected]
>>>>> Sent: Tuesday, July 11, 2017 4:02 AM
>>>>> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>>>>>
>>>>>
>>>>> Does this scheme support easily assigning a default value to a variable,
>>>>> that is, assigning only if the name is currently unused? This is a
>>>>> common case for me and I'm just now realizing that the "default" option
>>>>> doesn't really do that.
>>>>>
>>>>> See https://github.com/mlochbaum/JSound/blob/master/wav.ijs for an
>>>>> example, where I'm forced to write an awkward line of code to set the
>>>>> default format to 16-bit 44.1kHz. This seems easy enough to support with
>>>>> another trailing character on the name, like ^ or ?. So I would write
>>>>>    'FMT? F?' =: 1 16;44100
>>>>> instead of the current version.
>>>>>
>>>>> On a side note, Earl Grey is a good language to look at if you are
>>>>> interested in more sophisticated assignment schemes. I don't know if
>>>>> much of it is relevant to J, but it's very cool to see what can happen
>>>>> if you build a language to handle pattern matching from the bottom up.
>>>>> See http://www.earl-grey.io/doc.html, up to the section on pattern
>>>>> matching.
>>>>>
>>>>> Marshall
>>>>>
>>>>> On Tue, Jul 04, 2017 at 01:40:52AM -0400, 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
>
>>
>>>
>>>>
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> 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
> ----------------------------------------------------------------------
> 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