My limited understanding of immex is that they are executed just for
exactly one time right after J interpreter just re-entering immediate
state. It will not executed repeatedly because the immex flag (9!:28/29)
will automatically reset.

Immex (instead of calling 0!:100 from current state) is used to run 
user command inside ijx so that user code can run from a clean stack, ie,
the moment J interpreter finished all its backlog and re-entering immediate
execution.

I guess why immex doesn't work for you because your running code loops 
for ever and will never finish, therefore it will never return to immediate
execution state.

Чтв, 28 Апр 2011, Ian Clark писал(а):
> I've tried runimmx_jijs_ in place of my timer. It does indeed behave
> like APL+Win "Defer", but doesn't allow system events to get a look
> in.
> 
> Frequent calls of wd'msgs' during the duty-cycle don't fix the problem
> either: they cause the gui windows to judder and they are
> unresponsive. Although the J session does accept keystrokes with no
> apparent response delays and statements can be executed.
> 
> So I'm afraid I shall have to go back to using my timer. Pity.
> 
> I would like to know though, how it is that the IJX window can avoid
> judder and be responsive whereas my wd-defined windows can't? Surely
> it's using the same technology? Has it got some other way besides
> wd'msgs' of letting system events get through?
> 
> 
> On Wed, Apr 27, 2011 at 6:47 PM, Ian Clark <[email protected]> wrote:
> > Hey... then it ought to do what I'm using systimer for!
> >
> > "Immediate" in the 9!:26-29 write-ups suggested to me it was running
> > the given expression there-and-then, at whatever point it was called
> > in the code.
> >
> > I'll try some experiments. It'll be super if it works. Because
> > systimer is a b* nuisance and keeps crashing the Mac if you exit, or
> > try editing anything, with the timer running.
> >
> >
> >
> > On Wed, Apr 27, 2011 at 2:11 PM, chris burke <[email protected]> wrote:
> >> Your description is correct - they run J expressions after return to
> >> immediate execution, and differ only in whether the entries are displayed.
> >> It sounds like APL+Win Defer does the same.
> >>
> >> The main intent was to run expressions in Tools|FKeys, but they or similar
> >> could be used anytime. See also the docs for 9!:26 to 29.
> >>
> >> Chris
> >>
> >> On Wed, Apr 27, 2011 at 5:59 PM, Ian Clark <[email protected]> wrote:
> >>
> >>> 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
> >>>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to