It might be interesting and instructive to note that:
max=: $:/ : (dyad define)
x >. y
)
has the desired effect.
-Dan
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Ian Clark
Sent: Tuesday, September 04, 2012 10:01 AM
To: [email protected]
Subject: Re: [Jprogramming] Self-reference in an explicit definition
Thanks. All is now clear.
The J Dictionary says: "$: denotes the longest verb that contains it."
http://www.jsoftware.com/help/dictionary/d212.htm
The essential piece of information I was missing (overlooking?) was:
"...in the current sentence".
On Tue, Sep 4, 2012 at 2:19 PM, Raul Miller <[email protected]> wrote:
> $: refers to the largest containing verb in the current sentence.
> Explicit definitions contain sentences.
>
> --
> Raul
>
> On Tuesday, September 4, 2012, Ian Clark <[email protected]> wrote:
>> Let's define a verb: max which can be used either dyadically:
>>
>> 5 max 7
>> 7
>>
>> or monadically:
>>
>> max 5 7
>> 7
>>
>> Can somebody explain to me please
>> (for the purpose of completing
>> http://www.jsoftware.com/jwiki/Vocabulary/dollarco ) why this works:
>>
>> max=: $:/ : >.
>>
>> but this doesn't:
>>
>> max=: 3 : 0
>> $:/y
>> :
>> x>.y
>> )
>>
>> The explicit version (which to me looks equivalent to the tacit one)
>> does not work with a noun longer than 1 atom:
>>
>> max 7
>> 7
>> max 5 7
>> |stack error: max
>> | $:/y
>> ---------------------------------------------------------------------
>> - 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