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,

-- 
Raul


On Sat, Sep 30, 2017 at 4:47 PM, Erling Hellenäs
<[email protected]> wrote:
> I created a new thread. See question below. /Erling
>
> -------- Forwarded Message --------
> Subject:        Re: [Jprogramming] Tacit Expressions with Explicit J Syntax
> Date:   Sat, 30 Sep 2017 22:35:48 +0200
> From:   Erling Hellenäs <[email protected]>
> Reply-To:       [email protected]
> To:     [email protected]
>
>
>
> Hi all !
>
> Is there a way to get $: to work with agenda and with explicit code?
>
>     f=: 4 : 'x (4 : ''x'')`(4 : ''s,y +{: s=.x f <: y'')@.(4 :''x < y'') y'
>     4 f 8
> 4 9 15 22 30
>     f=: 4 : 'x (4 : ''x'')`(4 : ''s,y +{: s=.x $: <: y'')@.(4 :''x <
> y'') y'
>     4 f 8
> |stack error: f
> |   s,y+{:s=.x    $:<:y
>
> I guess $: refers to the unnamed verb directly containing it? But this
> means it does not work with explicit code in agenda?
>
> Interesting feature of fix:
>
>     f=: [`(] (] , [ + [: {: ]) [ f [: <: ])@.(<)
>     f=: f f.
>     f
> [`(] (] , [ + [: {: ]) [ f [: <: ])@.<
>     4 f 8
> 4 9 15 22 30
>
> Cheers,
> Erling
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to