That missing final z would not be ok for 'safeshow' to function properly.

But the problem here is not "how should 'safeshow' be changed to
function properly?" -- the problem here is "how do we use the debugger
to help us understand how J functions?" or perhaps "what is wrong with
the debugger? / how do we get the debugger to work properly? / how do
we understand J?"

Specifically, why is z rank 1 for assert and echo when the computed
result was rank 2?

Thanks,

-- 
Raul

On Wed, Jun 15, 2022 at 1:49 PM Henry Rich <[email protected]> wrote:
>
> I am away from my machine, but I observe that the result of safeshow comes
> from echo, not z.  Is that ok?
>
> Henry Rich
>
> On Wed, Jun 15, 2022, 7:03 AM Raul Miller <[email protected]> wrote:
>
> > I am running into a problem, in J903 and J904 -- I haven't yet
> > installed earlier versions of J on this machine.
> >
> > safeshow=: 3 :0
> >   assert. 0 < N=:N-1
> >   z=. ''
> >   assert. 1=#$z
> >   echo #$z
> >   'l r'=. y{Kid
> >   if. l<#Kid do.
> >     z=. '(',(safeshow l),') '
> >     assert. 1=#$z
> >     echo #$z
> >   end.
> >   z=. z,(":y{Key),':','BR'{~y{Red
> >   assert. 1=#$z
> >   echo #$z
> >   if. r<#Kid do.
> >     z=. z,' (',(safeshow r),')'
> >     assert. 1=#$z
> >     echo #$z
> >   end.
> > )
> >
> >    Kid=: 1 2,_ 1,:_ _
> >    Key=: 94 48 92
> >    Red=: 0 1 1
> >    N=: 3
> >    safeshow 0
> > 1
> > 1
> > 1
> > |assertion failure: safeshow
> >
> > Now, there's a problem here with my data which triggers the assertion
> > -- Kid should not contain any duplicate values other than _. But
> > that's not what I am concerned with here.
> >
> > In Jqt, I enable debugging (control-K) and when the debugger pops up
> > on the assert, I go back to the previous stack frame, and I find that
> > z has rank 2, instead of rank 1.
> >
> > Specifically, it has the value '48:R',' (',:' '
> >
> > So, now I am trying to figure out what's gone wrong.
> >
> > Conceptually, I could accept that z was being modified by virtual
> > block handling -- except there's no update to z which would have given
> > it a rank 2 value.
> >
> > Another possibility here is that there's something specifically wrong
> > with my machine. So: can anyone else reproduce this issue?
> >
> > And, ... the next most likely possibility is that there's something
> > wrong with the J engine itself.
> >
> > Anyways, I'd like to get someone else's perspective here.
> >
> > Thanks,
> >
> > --
> > Raul
> > ----------------------------------------------------------------------
> > 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