Re: [Jprogramming] Verbs returning verbs

2023-01-22 Thread Henry Rich
I'm glad to hear this.  None of the other replies has engaged with my proposal, instead saying things like 'ARs are nouns and so can't be first-class verbs'.  This hits the nail on the thumb.  What's important is whether you can pass function A into function B and have B call A: whatever syntax

Re: [Jprogramming] Verbs returning verbs

2023-01-22 Thread Elijah Stone
The problem with first-class functions is the design, not the implementation. On Sun, 22 Jan 2023, Jose Mario Quintana wrote: If a programmer is restricted to the tacit language (why? - I dunno) I am a tacit fan(atic) for several reasons. Here are just four: once fixed, tacit entities mind t

Re: [Jprogramming] Verbs returning verbs

2023-01-22 Thread Raul Miller
After thinking about this (and sleeping on it), I think this is a good idea. Thanks, -- Raul On Mon, Jan 16, 2023 at 8:35 PM Henry Rich wrote: > > I have never understood the zeal for having verbs return verbs, but it > must be real if some are willing to use dangerous backdoor hacks into JE >

Re: [Jprogramming] Verbs returning verbs

2023-01-22 Thread Jose Mario Quintana
> If a programmer is restricted to the tacit language (why? - I dunno) I am a tacit fan(atic) for several reasons. Here are just four: once fixed, tacit entities mind their own business without interference either way with other tacit entities or otherwise; maybe is no longer a performance issue

Re: [Jprogramming] Verbs returning verbs

2023-01-22 Thread Jose Mario Quintana
> to achieve it. ARs make it possible to pass verbs around, but executing > them requires dropping into explicit code. To remedy this, I offer a Unorthodox tacit verbs can execute them. > Sentence execution can produce ARs, and can take ARs created by verbs to > represent verbs and modifiers.

Re: [Jprogramming] Verbs returning verbs

2023-01-18 Thread 'Pascal Jasmin' via Programming
Distinguishing between "semi tacit" and explicit modifiers is done by whether the ( : string) or {{}} modifier "mentions" x and y.  If it does, it cannot return a non-noun.  It is a "glorified verb" with extra parameters. If it doesn't it has all the power of tacit modifiers. There is no "magi

Re: [Jprogramming] Verbs returning verbs

2023-01-18 Thread Raul Miller
On Wed, Jan 18, 2023 at 6:53 AM Hauke Rehr wrote: > Nice troll ;) Wasn't a troll. At the very least, errors are considered a feature aimed at helping coders find their mistakes. Otherwise, for example, indexing with what we currently consider invalid values could return fill rather than throwing

Re: [Jprogramming] Verbs returning verbs

2023-01-18 Thread Hauke Rehr
Nice troll ;) Generally speaking, in life contexts, “dark” is orthogonal to “useful”. Which might be related to why Dark Matter is looked up on, by some in the Physics community — it seems that it Matters too much. But if the problem is that brightness is insufficiently constrained, why should

Re: [Jprogramming] Verbs returning verbs

2023-01-18 Thread Raul Miller
Generally speaking, in computing contexts, "powerful" is orthogonal to "useful". Which might be related to why explicit definitions are looked down on, by some in the J community -- It seems that they're "too powerful". But if the problem is that explicit definitions are insufficiently constraine

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread 'Pascal Jasmin' via Programming
the boxed verbs are limited.  I mentioned that I can store as ARs instead.  But extracting 1 verb is a verb that can be applied:    (1 {:: (('X' Cloak ("0)(<@) )) 3 4 ) 2 3 4 6 7 8 Because "X cloaked" is applied "0, the results are assembled based on the shape of y (i.3 3 in original example)

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Henry Rich
Your ('X' Cloak(<@)("0) i.3 3) is interesting.  It seems to display as an array of boxed verbs. What would be the result if you opened that?  Can you apply all the verbs on an argument?  What is the verb rank of the boxed array, especially if the contents are verbs with different ranks? How are

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread 'Pascal Jasmin' via Programming
More ways to generate ARs doesn't hurt, but its not verbs returning non-nouns, or a path (n:) to obtain non-nouns from a verb phrase, so then the proposal is not meeting a major need. repeating definitions, eval_z_ =: 1 : 'if. 2 ~: 3!:0 m do. m else. a: 1 : m end.' NB.1 : ' a: 1 : m' isNoun_z_

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Henry Rich
Verbs are first-class in J, in that they can be passed as ARs or by name and invoked in an explicit verb. Nothing more is needed. If a programmer is restricted to the tacit language (why? - I dunno) verbs cannot be first-class.  That seems to matter to some people.  I was trying to give them s

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Elijah Stone
I don't love the proposal, as I think a conception of verbs as first class should involve _less_ hackery with representations, not more. But I don't feel that strongly either way. More fruitful, IMO, would be to work out how to add closures, as I think there is a more urgent need for that (u.

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Henry Rich
No, the proposal is ". '3&+' produces the AR of 3&+ ". (".'3&+'),(arnoun 5) produces 8. Verbs cannot produce anything but nouns; the ". verb produces the AR of a non-noun result.  ". can be applied to a sequence of ARs just as if they were words in a sentence. Henry Rich On 1/17/20

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread 'Pascal Jasmin' via Programming
are you saying that proposal is: ". ".'3&+' 3&+ NB. adverb? On Tuesday, January 17, 2023 at 03:46:54 p.m. EST, Henry Rich wrote: With the proposed enhancement to ". you don't /need/ to produce a modifier; you can execute the AR of the modifier. Henry Rich On 1/17/2023 3:12 PM, 'P

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Henry Rich
With the proposed enhancement to ". you don't /need/ to produce a modifier; you can execute the AR of the modifier. Henry Rich On 1/17/2023 3:12 PM, 'Pascal Jasmin' via Programming wrote: so an =: arnoun an =: 1 : '<@:((,''0'') ,&< ]) m' NB. atomic rep of noun as an adverb (right arg) eval_

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread 'Pascal Jasmin' via Programming
so an =: arnoun an =: 1 : '<@:((,''0'') ,&< ]) m' NB. atomic rep of noun as an adverb (right arg) eval_z_ =: 1 : 'if. 2 ~: 3!:0 m do. m else. a: 1 : m end.' NB.1 : ' a: 1 : m' aar =: 1 : 'if. isNoun ''u'' do. q =. m eval else. q =. u end. 5!:1 < ''q'' ' aar provides the functionality of an, an

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Raul Miller
On Tue, Jan 17, 2023 at 12:00 PM 'Pascal Jasmin' via Programming wrote: > > willing to use dangerous backdoor hacks into JE to achieve it > > Dangerous seems harsh. But still meaningful, given that a mis-step here can crash J. -- Raul

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread Henry Rich
Please confine this to my proposal - not including n: . It seems to me that if ". can produce any part of speech, and can be applied to ARs, it can do anything.  What is it missing?  For example, ". (arnoun value) , (". '+&') would produce the AR of (+&value) once you have written a suitable

Re: [Jprogramming] Verbs returning verbs

2023-01-17 Thread 'Pascal Jasmin' via Programming
The proposal for u n: ->  [x] u y  (and then u n: M => (([x] u y)M)  ) would work with this so that ". n: `:6 can consume "the output" though 2. suggests doing this.  Would: ". '+';'/'; '1 2 3' produce 3 boxes?  a linear expression? > willing to use dangerous backdoor hacks into JE to achiev