There are a pair of verbs in J602 JWD: runimmx0_jijs_ and
runimmx1_jijs_ . What do they do?

(You may assume I've read about 9!:26 et seq in
~help/dictionary/dx009.htm -but don't grok the word "immediate".)

I've been finding runimmx1_jijs_ useful for executing a given
statement from within J code as if it had been typed into the J
session. Occasionally doing this behaves differently from running it
as a bare line of code in a verb. For example: cocurrent 'mylocale'
--which stops the current locale reverting on exit from the calling
verb and forces it to remain in mylocale.

Something one wouldn't normally need to do in operational code I
guess. But it's convenient for writing what used to be called CASE
tools. (The need arises in-part because I can never spell "cocurrent"
right first time :-)

Are there implications? Am I misusing the facility? What should I
really be doing?

An allied matter (at least I think so)...

APL+Win has a facility called "Defer" which posts a statement to be
executed only when the current process has finished running, typically
a gui control handler and its nested calls. Good for gui housekeeping.
I've been approximating this effect by setting systimer to execute
(once only) the required statement as a callback, a millisecond or so
in the future. It's a cumbersome way of doing things. Is there a
neater way?

BTW I'm using a Mac under Snow Leopard. Things which work under
Windows can't be guaranteed to do so on the Mac, and vice-versa,
because the system event queues are a bit different.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to