No, I am asking *how* it is useful.

Thanks,

-- 
Raul


On Wed, Jul 12, 2017 at 2:08 PM, Jose Mario Quintana
<[email protected]> 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
>> >
>> >
>> > 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/forum
>> s.htm
>> >
>> >>
>> >>>
>> >>>>
>> >>>>>
>> >>>>> ------------------------------------------------------------
>> ----------
>> >>>>> For information about J forums see http://www.jsoftware.com/forum
>> s.htm
>> >>>>> ------------------------------------------------------------
>> ----------
>> >>>>> For information about J forums see http://www.jsoftware.com/forum
>> s.htm
>> >>>> ------------------------------------------------------------
>> ----------
>> >>>> For information about J forums see http://www.jsoftware.com/forum
>> s.htm
>> >>>> ------------------------------------------------------------
>> ----------
>> >>>> For information about J forums see http://www.jsoftware.com/forum
>> s.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