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
