Hi !
I get
0x1
0
eu=:2.71828
0*eu^0
0
This is J8.06 with Jx patches.
Cheers,
Erling Hellenäs
On 2017-12-16 12:19, [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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm