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, and ar, but when a name or modifier is
provided, it provides the ar of the name/modifier.
". (arnoun value) , (". '+&')
using the above functions and then building an adverb with it:
((3 an) , ('+&' aar)) `:6 NB. or ((3 aar) , ('+&' aar)) `:6
+&3
The moral of the example is that if we want to build up a noun/ar before applying `:6 to
it, we can already do so "legally".
In the above example, do so without an extra ". ... though perhaps (". ars)
produces the same result as (ars)`:6, which has not been made fully clear.
where (u 'adv' oa) is equivalent to (u n: adv),
Cloak=: aar(0:`)(,^:)
oa =: 1 :'u Cloak @:' NB. apply quoted adverb after result. Can produce
modifier from previous verb result as argument.
3 ((([ 'an' oa) , (] 'aar' oa))'`:6'oa) '+&' NB. everything between () is
standalone function.... looks like a dyadic verb.
+&3
The missing J functionality is making a modifier (or non-noun) from "nouns" and
verbs. It is not the inability to create ars.
On Tuesday, January 17, 2023 at 12:13:21 p.m. EST, Henry Rich
<henryhr...@gmail.com> wrote:
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 verb
to take the AR of a noun.
Henry Rich
On 1/17/2023 11:59 AM, 'Pascal Jasmin' via Programming wrote:
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 achieve it
Dangerous seems harsh. On the other side, verbs "needing to be" first class
may not be necessary. Verb phrases being able to produce non-nouns is the big missing
capability. Implies verb phrases can be different to verbs.
n: is a very useful bridge for this distinction. verbs can continue to be noun result
only, and tested independently. Adverbs/modifiers that take noun arguments can also be
tested independently. n: as a bridge can "document" that the overall verb
phrase can produce a modifier.
I think n: can "complete J" with full transformability between verbs and
modifiers.
(n: C n:) NB. allow 2 verb phrases (u and v) to input to conjunction,
potentially returning modifier.
I like the proposals for ". and apply. They are insufficient without n: due to not being
able to be combined into a "larger" non-noun producing function.
On Monday, January 16, 2023 at 08:35:59 p.m. EST, Henry Rich
<henryhr...@gmail.com> 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
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
proposal, backward compatible with older J:
1. (". y) and Apply (x 128!:2 y) to be modified so that if the result of
execution is not a noun, it is replaced by its AR (instead of '' as
previously).
2. (". y) and Apply to be modified so that if y (for ".) or x (for
Apply) is boxed, the sentence is executed as usual except that each box
is converted using (box 5!:0) before being put onto the execution stack.
The idea is that you can execute (".
expr-producing-AR,exp-producing-AR,...) without having to get any
modifiers involved.
Sentence execution can produce ARs, and can take ARs created by verbs to
represent verbs and modifiers. That sounds pretty classy to me, but I
don't know whether it's first-class.
Henry Rich
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm