> > ..however, in J there is an official obsession (in my opinion)
> > restricting verbs to return nouns, only nouns, and nothing but
> > nouns.
>
> You say that like it's a bad thing.

It keeps tacit adverbial and conjunctional programming weak.

> There are a variety of things I could wish for J: the ability to put
> sparse arrays in boxes, for example.

:)  "Being there done that."  (Actually, someone else did it for me.)

>                                   But we have several ways of of
> representing verbs as nouns.

"That is easier said than done."

"However, once one is outside the comfort zone things get tricky.  Doubters
can try to write a tacit version of the conjunction INTEGRATE appearing in
the following post (ignore the fact that the calculus add-on is written
explicitly)

[Jprogramming] Evaluating a Gerund Array
http://www.jsoftware.com/pipermail/programming/2015-April/041621.html

Extra big bonus, try to make it also anonymous and fixed...  Good luck!"

>                             (And I think explicit code pairs nicely
> with tacit code.)

Sure, you are a member of the vast majority of users that follow the
developers' strong advice and write tacit entities just for performing
lightweight tasks.  I am surprised that you kept reading my post that far;
but, by all means, if that works for whatever you are doing with J just
keep doing it.

> I suppose by crashing the J session, but this is just one example.

Some Jx programs are routinely, automatically, and furiously cranking up
verbs and crunching numbers and text sometimes for more than a couple of
weeks straight, apparently unaware that they should be crashing instead.
Besides, often I interpret some crashes as a sign of a system's power, but
that is me.  So, what part of the j903 language would you advise removing to
avoid the following crash of the interpreter?

   J=. ((<@:((":0) ,&:< ]) , ])(.].))(`:6)
   CRASH=. 5!:1@<'J'

   CRASH J   ;)

> More importantly, how do you teach people to understand that kind of
> construct?)

Carefully ;) I have trained a few people over the years with hardly any
difficulty.

> Finally, what's wrong with
>
>    ^@:-@:(*~) 2
> 0.0183156

Do I really have to indicate that that was just a very simple illustration
taken from the BQN's documentation?


___________________________________________________________________________


On Sun, Dec 26, 2021 at 11:14 PM Raul Miller <[email protected]> wrote:
>
> On Sun, Dec 26, 2021 at 10:50 PM Jose Mario Quintana
> <[email protected]> wrote:
> > ..however, in J there is an official obsession (in my opinion)
> > restricting verbs to return nouns, only nouns, and nothing but
> > nouns.
>
> You say that like it's a bad thing.
>
> There are a variety of things I could wish for J: the ability to put
> sparse arrays in boxes, for example. But we have several ways of of
> representing verbs as nouns. (And I think explicit code pairs nicely
> with tacit code.)
>
> There's a lot of other work which would need to be done to have a
> consistent and robust implementation in a system where (for example) F
> in F/Y has an arbitrary rank and could sometimes return a verb.
>
> (And, yes, this case could be solved, by throwing errors liberally, or
> I suppose by crashing the J session, but this is just one example.
> More importantly, how do you teach people to understand that kind of
> construct?)
>
> Finally, what's wrong with
>
>    ^@:-@:(*~) 2
> 0.0183156
>
> Or, for that matter
>
>    0 0 _1 ^@p. 2
> 0.0183156
>
> ?
>
> --
> Raul
> ----------------------------------------------------------------------
> 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