[Jprogramming] Agenda in explicit expressions WAS: Tacit Expressions with Explicit J Syntax
Louis de Forcrand
olius at bluewin.ch
Sat Sep 30 23:12:09 UTC 2017
That's what I understood from the J dictionary, NuVoc, and personal experience:
$: refers to the *largest, unnamed, tacit* verb containing it. And by "tacit" here I mean in the same "colon-level" as the $: in question.
For example:
In
$: @ (3 : 'y')
$: refers to the whole verb.
In
3 : '$: y'
it refers to itself only.
In
3 : '$:@>: y'
it refers to $:@>:.
In
$:@>:
it refers to the whole tacit verb, but in
u=: v@>:
v=: $:
it refers to only v.
So in your examples Erling, $: in those explicit definitions refers only to itself, which obviously leads to a stack error. Use the explicit verb's name if you need recursion in an explicit verb.
Louis
> On 1 Oct 2017, at 00:54, Raul Miller <rauldmiller at gmail.com> wrote:
>
> Hmm.. after re-reading the dictionary definition, I think I was wrong
> when I said that
> x $: <: y
> was the meaning for $: in that second example:
>
> Since no verbs are formed in that sentence, $: just refers to itself
> as the largest containing verb.
>
> Please tell me if you have reason to think I'm wrong about this.
>
> Thanks,
>
> --
> Raul
>
>
>> On Sat, Sep 30, 2017 at 6:44 PM, Henry Rich <henryhrich at gmail.com> wrote:
>> The problem is that we mean different things by 'work'. To me, that means
>> it behaves the way NuVoc says it does. I get the feeling that to you,
>> 'works' means it behaves the way you want it to.
>>
>> It works, by my meaning. The Dictionary is not precise about the behavior
>> of $: in explicit definitions.
>>
>> Henry Rich
>>
>>
>>> On 9/30/2017 6:04 PM, Erling Hellenäs wrote:
>>>
>>> I guess it would be impossible to get you to acknowledge that it does not
>>> work with explicit J in agenda :) /Erling
>>>
>>>> On 2017-09-30 23:16, Raul Miller wrote:
>>>>
>>>> Yes, if you want to explicitly reference the definition of f, you
>>>> should use the name f (like you used at first), and not $:
>>>>
>>>> $: refers to the containing sentence, which in your example was
>>>> x $: <: y
>>>>
>>>> To have $: mean something different you need to use it in a different
>>>> sentence (which is entirely possible, of course).
>>>>
>>>> Thanks,
>>>>
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>>
>>
>> ---
>> This email has been checked for viruses by AVG.
>> http://www.avg.com
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
More information about the Programming
mailing list