= is unfortunately with us for keeps. It's used a lot to create
identity matrices.
I object to encouraging its use by having special code for #@= . I don't
want people to think about (= y), ever. It raises a stench in the
nostrils of the Almighty. I disown it. It's shunned.
Henry Rich
On 12/6/2022 1:40 PM, Raul Miller wrote:
Right -- my suggestion here would be that #@= would not produce the
result of = but would instead generate the counts directly without
generating the intermediate results.
And yes i.~ and u/. give the same information more compactly, (but the
equivalent expression involving i.~ would be >./@i.~ which is harder
to read, so #@~. would be preferable). and u/. assumes that we are
using the bit vectors to compress an argument.
Meanwhile, if you were to get rid of the monadic definition of = it
would make sense to give it the nub operation in its place, leaving ~.
in place (mapping it to CEQ instead of CNUB) for backwards
compatibility. I would be hesitant to take that step (at the very
least, I'd want to read through every published book on J to make sure
I hadn't overlooked something important. For example, are there
approaches to fractals where the current = monadic result is useful?)
A general issue, in the context of the usefulness of primitives, is
that any single application domain is going to tend to emphasize a
handful of primitives, but an unrelated application domain would tend
to emphasize a different handful.
Anyways, this doesn't have to go out immediately or anything, but the
argument that jtsclass() might be tossed is not necessarily an
argument against my suggestion.
Thanks,
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm