The problem with the existing implementation is that there's no
efficient way to use it in a scan.

That said, Henry's point about constant time overhead might be relevant.

That said, I don't think the implementation would need to do the full
verb overhead for primitive scalar verbs (where we've already got
tables of their underlying mechanisms for each numeric type).

-- 
Raul

On Mon, Feb 22, 2016 at 5:23 PM, Michal Wallace
<[email protected]> wrote:
> The example in the docs is ambiguous, and probably ought to be replaced,
> since the sequence of inserted verbs both starts and ends with +.
>
> I'm not sure that I'd find either order to be more or less useful, but the
> existing order does have one nice advantage, in that it allows you to
> "factor out" verbs in an otherwise constant expression, and keep them in
> the original order:
>
> 3 * 2 + 1    ->   *`+/3  2 1
>
>
>
> On Mon, Feb 22, 2016 at 4:16 PM, Raul Miller <[email protected]> wrote:
>
>> Note also that if (3*4+5) -: +`*/3 4 5 this gerund mechanism would be
>> useful for implementing a solution to your minimization problem, using
>> something like
>>    C#inv!._1 (#~ 0 1$~#)|.+`<./\.|. (C=:D~:_1)#D,.P
>>
>> That's untested code, for obvious reasons, but I think it would be in
>> the right ballpark.
>>
>> So my question is: is the existing implementation useful for anything?
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>>
>>
>> On Mon, Feb 22, 2016 at 5:07 PM, Raul Miller <[email protected]>
>> wrote:
>> > Spelled out in nuvoc doesn't mean it's not an error:
>> >
>> > It's quite possible to document erroneous behavior.
>> >
>> > --
>> > Raul
>> >
>> > On Mon, Feb 22, 2016 at 4:52 PM, Henry Rich <[email protected]>
>> wrote:
>> >> Inserts from the front.
>> >>
>> >> +`*/3 4 5
>> >>
>> >> 23
>> >>
>> >> 3+4*5
>> >>
>> >> 23
>> >>
>> >>
>> >> Spelled out in
>> >>
>> >> http://code.jsoftware.com/wiki/Vocabulary/slash#Details
>> >>
>> >> Henry Rich
>> >>
>> >> On 2/22/2016 4:21 PM, Raul Miller wrote:
>> >>>
>> >>> http://www.jsoftware.com/help/dictionary/d420.htm says:
>> >>>
>> >>> m/y inserts successive verbs from the gerund m between items of y,
>> >>> extending m cyclically as required. Thus, +`*/i.6 is 0+1*2+3*4+5
>> >>>
>> >>> But it does not include an example of m/y where y contains an odd
>> >>> number of elements.
>> >>>
>> >>>  From the description, I would expect +`*/3 4 5 to give the result
>> 3*4+5
>> >>>
>> >>> However:
>> >>>     3*4+5
>> >>> 27
>> >>>     +`*/3 4 5
>> >>> 23
>> >>>
>> >>> I'm thinking that this might be a bug in the interpreter.
>> >>>
>> >>> Is there some application, though, that requires the current behavior?
>> >>>
>> >>> Thanks,
>> >>>
>> >>
>> >> ----------------------------------------------------------------------
>> >> 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