Thanks, these replies have all been extremely helpful. Like Conan
Doyle's dog that _didn't_ bark in the night.

I actually have a solution, that I feel I'm carrying around by its
tail. But so far, so good. It hasn't bit me yet. I turn on the
suspension stack in the verbs that need it, and I turn it off again on
exit. Hooray: myname and mycaller work just fine. Since the verbs that
need it only cut-in once in a while, there's no discernible
performance hit.

(Oh yes, and I spotted a cat called $: . But I don't know which way to
pick it up. Hands up who understands ~help/dictionary/d212.htm ?)

Curiosity killed the cat -- but satisfaction brought it back. I have
an associated question, that's had interpreter developers throwing the
Windows interface manual at me for the last decade (or telling me to
use another language). But I'm not the only one to ask it...

Can I have a facility, please, to make a designated variable post an
event whenever its value is changed?

++ Not "assigned" -- I meant "changed"... (but I can live with
assigned, if I have to.)

++ A callback will do instead of an event. But an event is slightly
more flexible (and seems to make the computer judder less in
operation).

To forestall the "whyever" brigade... no I can't convert all my
affected copulas to something like this:

   'MyWatchedVar' copulatesWith MyWatchedVar+1

which presents an obvious solution. The code is not all mine, and I
can't dig the developers up to make them insert probes in their code.

APLomb had the facility; and pivoted on it. Dyalog had nothing like it
-- and Donnelly growled that it was impossible without affecting their
precious performance metrics. (So Adrian Smith had to go and write
Causeway.)  APL+Win has []WATCHPOINTS --which works just fine. But
APL2000 were horrified to hear the use I had for it. They intended it
only to enable tricky diagnostics for very demanding customers.

J602 has 4!:5 which I've pressed into service -- but only with use of
a timer to go look at the watch-list at frequent intervals. I don't
like timers. Nor does my Mac when I exit J with the timer still
running. Maybe it's not a solution I want to ship?

But hey! ... (as Galileo said) -- it moves!

And I'll be happy with it, if there's no better way.



On Wed, Jan 26, 2011 at 2:31 PM, Dan Bron <[email protected]> wrote:
> Henry wrote:
>>  In the old days, turning on debug made my big
>>  apps crash.  I think it's been fixed now, but
>>  I'm still like Mark Twain's cat.
>
>  "[It's] said a person that started in to carry a cat
>  home by the tail was getting knowledge that was always
>  going to be useful to him, and warn't ever going to
>  grow dim or doubtful."
>                        -Tom Sawyer Abroad
>
>   9!:14''                 NB.  J7
> j701/beta/2009-12-06/14:40
>
>   sr           =:  1 : 'u y'
>   13!:0]1                 NB.  Debug on
>   13!:8 ] 12              NB.  Assertion (stop)
> |assertion failure
> |       13!:8]12
>
>   (+ sr        ) f.       NB.  J crashes here
>
> -Dan
>
> PS:  My cat is named $: .
>
>
> ----------------------------------------------------------------------
> 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