Hi,

is "left-justification" really a problem ?

Can't 10 #: 123 1230 1234 be handled just like 10 #.^:_1 ] 123 1230 1234
inside the interpreter?

Or is it that the interpreter cannot work that way?


Jimmy


On Thu, Jul 5, 2018 at 10:57 AM, Henry Rich <[email protected]> wrote:

> I have been wondering, if this simple idea is so good, why didn't Ken
> think of it?
>
> I think I have the answer.
>
> With the new definition, we would have
>
>    10 #: 123 1230 1234
> 1 2 3 0
> 1 2 3 0
> 1 2 3 4
>
> because of left-justification of assembled results.  (Note that #: y is
> defined with infinite rank to avoid this problem; I think it is out of the
> question to change the rank of x #: y, for compatibility reasons)
>
> Results on lists would have this peculiarity.  And, #. would be an
> imperfect inverse for #: .
>
> So I think rather than having this odd behavior Ken forced us to use
> #.^:_1, which DOES have infinite rank and even right-justifies properly:
>
>    10 #.^:_1 ] 123 1234
> 0 1 2 3
> 1 2 3 4
>
> [20 years of using J and 2 years of intimate work with the source code,
> and there are still these gems of Roger's that surprise me.]
>
>
> For all that, I think I would support making the change Joey suggests, but
> I would want more time for all of us to think it over.
>
> Henry Rich
>
>
>
> On 7/4/2018 1:37 AM, Joey K Tuttle wrote:
>
>> The proposed change is only to Antibase (#:)  not Copy (#)
>>
>> Plus, all the functionality of #: would be maintained and the statement
>> from NuVoc,  "x #: y is used only when you need to state how many places
>> you want in the result would still remain in effect but the left argument
>> be required to be a vector (even if only 1 place was sought).
>>
>>
>> On 2018Jul 3, at 21:41, Skip Cave <[email protected]> wrote:
>>>
>>> As long as we don''t change this functionality:
>>>
>>> 1 1 0 1 0 0 1#10 2 34 13 6 87 9
>>>
>>> 10 2 13 9
>>>
>>>
>>> Skip Cave
>>> Cave Consulting LLC
>>>
>>>
>>> On Tue, Jul 3, 2018 at 11:33 PM Jimmy Gauvin <[email protected]>
>>> wrote:
>>>
>>> Hi,
>>>>
>>>> I also support the idea of this scalar extension.
>>>>
>>>> #.inv or  #.^:_1 have a "kludgy" feeling ...
>>>>
>>>>
>>>> Jimmy
>>>>
>>>> On Tue, Jul 3, 2018 at 11:31 PM, Joey K Tuttle <[email protected]> wrote:
>>>>
>>>> Can anyone provide a reason it would be undesirable to have a scalar
>>>>> left
>>>>> (x) argument to #: behave any differently than  x (#.^:_1) y  ?
>>>>>
>>>>> In NuVoc I find - "
>>>>> x #: y is used only when you need to state how many places you want in
>>>>>
>>>> the
>>>>
>>>>> result, or if x contains differing values. If you want just sufficient
>>>>> places to hold the value of y in the base x, use  #.inv to convert to a
>>>>> fixed base.
>>>>>
>>>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
>
> ---
> This email has been checked for viruses by AVG.
> https://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

Reply via email to