Just did this:

foo0=: 3 : 0
   y=. >:y
   foo1 y
)

foo1=: 3 : 0
   y=. y,XX
   y=. y*10
)

   4!:55 <'XX'
1
   foo0 10
|value error: XX
|   y=.    y*10
|foo1[1]
      y           NB. Currently undefined because XX is undefined
11 , XX
      13!:19''
|stop: foo0
|   foo1 y
|foo0[1]
      y          NB. Value at this level as expected
11
      XX=: 99    NB. Define variable to avoid value error
      13!:4''    NB. Resume execution in "foo0"
110 990

This works the same as I've seen it in the past.

On Wed, Apr 6, 2022 at 7:44 PM Henry Rich <henryhr...@gmail.com> wrote:

> Quite right, but I don't want to go there yet.  I want to see if I'm
> misunderstanding 13!:19.
>
> Henry Rich
>
> On 4/6/2022 7:41 PM, Elijah Stone wrote:
> >> Suppose you want to look around in the caller's frame.  You try
> >> 13!:19'', but it restarts immediately, calls problem again, and fails.
> >
> > That seems like a valid use case.  More generally, it seems like it
> > would be useful to poke around in _any_ stack frame, without
> > destroying the ones beneath (or on top of, depending on which way your
> > stacks grow) it.  But that leads to forking stacks and continuations.
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
>
> --
> 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
>


-- 

Devon McCormick, CFA

Quantitative Consultant
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to