There is, in fact. Simply execute the name you want to evaluate:
g =. ] >@{ ".@:('paths'"_)
'paths'"_ is the verb that always returns the string 'paths', so
".@:('paths'"_) is the verb that always returns the current value of
paths.
The "strings are code" mentality feels ugly to someone used to C or
Lisp, but it's very powerful and worth learning.

Marshall

On Sun, Jul 22, 2012 at 07:51:17PM +0100, David Vaughan wrote:
> Thanks.
> 
> So there's no way to achieve it with a tacit verb?
> 
> On 22 Jul 2012, at 18:48, Ric Sherlock wrote:
> 
> > When you assign a Tacit verb to a name the value of the nouns in the
> > definition are "compiled" in to the tacit definition. If you use an
> > explicit definition the noun will be reevaluate d each time.
> > On Jul 22, 2012 1:32 PM, "David Vaughan" <[email protected]> wrote:
> > 
> >> I have a noun called paths, whose value changes at various points, and a
> >> verb g that uses paths. The problem is, it only works for the initial value
> >> of paths.
> >> 
> >>   paths =: \:~&.> (;~ 0$0) , <\ 2+i.7
> >>   paths
> >> ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
> >> ?????????2???3 2???4 3 2???5 4 3 2???6 5 4 3 2???7 6 5 4 3 2???8 7 6 5 4 3 
> >> 2???
> >> ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
> >>   g =. >@{&paths
> >>   g
> >>> @{&((0$0);(0$0);(,2);3 2;4 3 2;5 4 3 2;6 5 4 3 2;7 6 5 4 3 2;8 7 6 5 4 3
> >> 2)
> >> 
> >> So now when paths changes, g becomes useless.
> >> 
> >> My question is how can I get g to always check the value of paths when it
> >> is executed? And more generally, how can the name of a noun rather than the
> >> value of the noun be used in a verb?
> >> 
> >> Many thanks.
> >> ----------------------------------------------------------------------
> >> 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

Reply via email to