Hello Dan,

I want to do what you have mentioned in the PS of your mail. I want to
reload the form to handle the bugs that can arise in production code.

You also mention that
matrix_reloaded_button =: 3 : 'load (4!:4<''y'') { 4!:3$0'
does not work on windows.

I am on windows environment. So, is there a work around here for windows?

In any case thanks for the tips. I shall work on this direction.

Thanks and Regards,
Yuva


On Dec 18, 2007 3:01 AM, Dan Bron <[EMAIL PROTECTED]> wrote:

> Yuva asked:
> > This is like editing a .ijs file, invoking CTRL-w, and continuing with
> the
> > execution using the latest definitions from J execution window.
>
> >  What is the J Code for this?
>
> The question is a bit unclear.  Fundamentally,  0!:  executes scripts.  In
> practice, we mostly use the cover verb  load_z_  .  But I suspect you know
> that already.  Could you describe what you want in more detail?
>
> First off, why do you want to reload a script?  Are you programmatically
> re-writing its contents?  Do you want to re-execute it to reset state (i.e.
> reassign globals to the default)?
>
> If the latter, then I guess your question is "How do I reload the current
> script?".  The answer to that is still  load  , but it requires you know the
> name of the current script.  That, you can discover with  4!:3  and  4!:4  .
>
> For example,  3 : 'load (4!:4<''y'') { 4!:3$0' 0  will reload whatever
> script it's run from (it won't work in the IJX window).  More specifically,
> if you had a form named  matrix  with a button named  reloaded  then you
> could define a verb in your form script:
>
>   matrix_reloaded_button =: 3 : 'load (4!:4<''y'') { 4!:3$0'
>
> then, when the user pressed your  reload  button, it would reload your
> form script.
>
> If the former, i.e. that you're programmatically re-writing a script, then
> you already know its name, and this won't help you; you have some other
> question.
>
> If that's the case, the best I can do is tell you how CTRL+W works (or,
> how to find out how it works).  Run  open'jijs' .  That script is
> responsible for all the script-editing features of the session manager.  In
> particular, you'll want to look at:
>
>   jijs_wctrl_fkey_jijs_
>
> which is defined as:
>
>   jijs_runwindow_button_jijs_
>
> which calls:
>
>   runwindow_jijs_
>
> which fundamentally calls:
>
>   load SMNAME_x_
>
> where  x  is the (numbered) locale of the script window where you pressed
> CTRL+W.  There's a bit of indirection here, with  9!:27  (which runs the
>  load  sentence when the session returns to immex), but I don't think that's
> relevant to your question.
>
> Or maybe it is.  Are you asking how to reload a script once the current
> process (verb) completes execution?  That is, you want to do some work, then
> reload the script after you're done (i.e. the stack is empty and J is back
> in an "idle" state)?  If so,  9!:27  (with  9!:29  )  is the answer.  Have a
> look at  runimmx1_jijs_  .
>
> I hope this helped.  If not, could you describe what you want in a little
> more detail, or post some code?
>
> -Dan
>
> PS:  In practice, the only time I've wanted to reload a script was in a
> production J server.  I had an order management system that couldn't go down
> while the market was open.  So, when a trader discovered a bug in
> production, I'd edit the relevant scripts and simply walk over the
> production machine and type   load foo  into the session manager, where foo
> were the scripts I changed.  The nice thing was, this worked, even when I
> had a bug in the socket-handling script itself!
>
>
> ----------------------------------------------------------------------
> 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