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
