> > ..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
