On j android, it looks like that
0xn is evaluated as nxn
   0x1
2.71828
   1x1
2.71828
   0x2
14.7781
   2x2
14.7781
   0x3
60.2566
   3x3
60.2566

On Dec 17, 2017 12:33 AM, "Henry Rich" <[email protected]> wrote:

> When I try it (on a couple of different J versions) I get
>    0x1
> 0
>    0x0
> 0
> etc.
>
> If your error persists please run
>    9!:14''
>
> to indicate what version you are running, and report the error again.
>
> Welcome to J!
>
> Henry Rich
>
> On 12/16/2017 6:19 AM, [email protected] wrote:
>
>> Hi.
>>
>> Could someone please shed some light on the following behavior:
>>
>>     1p1
>> 3.14159
>>     0p1
>> 0
>>     0p0
>> 0
>>     1x1
>> 2.71828
>>     0x1
>> 2.71828
>>     0x0
>> 0
>>
>> I don't understand why 0x1 isn't the same as 0 * ^1 even though
>> other constants seem to obey this form. I haven't found any
>> explanation in
>> http://www.jsoftware.com/docs/help806/dictionary/dcons.htm .
>>
>> <information irrelevant to the question>
>>
>> I am new to J and am yet to write a useful script in it, but
>> I've already been greatly impressed by how consistent the
>> language felt in most cases. For example, just the other day
>> I wrote a monadic verb which took $n$ as an argument and
>> returned $\sum_k {n \choose 3k}$. The verb was the following:
>>
>>      a =: [:+/(3*i.)!]
>>
>> But if you try to pass it not a single $n$ but a list, the
>> verb doesn't work. Which is a shame because the intended use
>> was to examine the series. And so I started searching for
>> something akin to Haskell's `map`. After half an hour of
>> sifting through J tutorials that expressed delight in the
>> fact that J lifts operations to arrays of arbitrary ranks
>> by default and therefore doesn't need `map`, I've finally
>> found what I was looking for, namely `a "0 i.50`, the rank
>> operator, and it turned out that `map` isn't magic after
>> all and is just a single case of a more general operation.
>> I hadn't seen the rank operator in any language before and
>> was thrilled to feel the potential that this operator holds.
>>
>> So the language is great, and it seems that common use cases
>> are handled by elegant general solutions, that is, the
>> language is designed to be mostly free from corner cases.
>>
>> That's why the unintuitive handling of 0x1 seems to me
>> especially weird. I could ignore it if Python did it, if
>> C++ did it, but J simply doesn't look like a language that
>> intoduces inconsistencies for no reason. So it is highly
>> probable that it's me who doesn't understand higher purpose
>> of the construct. And so I came here hoping that someone
>> explains it to me. The J community has a reputation of
>> being tolerant to uninsightful questions of beginners.
>>
>> </information irrelevant to the question>
>>
>> Sorry if my English has some mistakes or is in the wrong
>> tone. The reason isn't negligence, it's just that English
>> isn't my native language.
>>
>> Regards,
>> Dmitry Khalansky.
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
>
> ---
> 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

Reply via email to