1. Non-nouns have for a long time been stacked by reference (the JE
creates a word for 'name~' and puts that on the stack). This includes
adverbs and conjunctions.
2. Yes, Ye Dic says that adv/conj will be stacked by value, but it
wasn't. My guess is that this is because it would be hard to debug
explicit adv/conj if you didn't have a name to look for a stop in.
3. Recently I modified it so that adv/conj whose value contained no
names is stacked by value. There is a bug in this that messed up
locatives, fixed for next beta.
4. But the parser has a different path for one-word sentences, and I
neglected to make the change there also. So your example gets the name
stacked.
If I think about it I might fix the one-word path to match the other, if
there are no gotchas.
Henry Rich
On 10/26/2020 9:43 PM, Raul Miller wrote:
The introduction of direct definition inspired me to revisit some
older code that I had abandoned, but in cleaning up that code, I
believe I have run into a name resolution issue which seems to be
handled wrong.
To illustrate:
example2=:1 :0
expl=. :
expl
)
1 example2 3
expl 3
Normally, in J, names which represent verbs may be looked up later,
but names which represent nouns, adverbs and conjunctions are looked
up immediately.
Here, if I use a different definition, we can see that this character
holds for nouns
example3=:1 :0
expl=. 3
expl
)
1 example3
3
But, honestly, in adverb and conjunction results, I cannot think of
any good reason for a locally defined name to not be resolved.
(This is not a new issue. It's just something I stumbled over, testing
the new features.)
Thanks,
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm