Actually, good examples of modular extensibility are some of the Studio Demos: OpenGL, Plot, etc. For each episode they hotswap part of the locale with definitions from a script.
--- Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > In J system there is no clear separation of > a running program vs non-running. There are definitions > in memory, and they run when called. So a program > is a loose collection of definitions in memory. > > To change a loaded program you need to change the > definitions in memory by executing "name=: definition". > It does not matter how this execution is performed: > loading a script, executing a literal noun, from > immediate session window, etc. > > There is no intrinsic connection between the script > in the file and definitions in memory. E.g. there is no > such thing that after loading a script, you change and > save it and it automatically gets picked up into memory. > > One way to hotswap (one or more) definitions is > - open script in J session > - Ctrl+W to load it (and run the last line to start program) > - change a definition in script window > - select the definition and Ctrl+E > Thus only the selected definition will be replaced and > the program will change in memory and will start new > behavior when that definition is called again, as in > event handler. > > Using this idea, it is possible to replace definitions > from the program GUI, without the J session windows, > thus implementing the "plug-in" or "macros" design pattern, > so that customizable and extensible modules are changed > in memory as well as on disk for later use. > > In fact, J is especially suitable for this extensibility > pattern, as other languages have to support either special > scripting extensions or very complex dynamic compilation. > Whereas any J code and programs can be viewed as extensibility > plugins of the J system itself. > > > --- Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]> wrote: > > > I donot yet know whether the question I asked has been answered. > > > > Second try: > > Example: Oleg published a SQLite addon at http://olegykj.sourceforge.net/ > > that > > includes a browser for the sqlite database and is in a single script file " > > browser.ijs" > > > > This is a windows based application that explores the database stored in a > > *.sqlite file. So, the application keeps running till the user closes it. > > > > Now, in this context, > > 1) Can the script file be changed? It seems all the following work - change > > the contents, move/delete file. > > 2) After the change, how to inform J to reload the changed file without stop > > and restart of the application? > > > > > > I had a look at the project manager and created a project. But I am not able > > to see how the project manager allows for "hotswap" of script - by which I > > mean that J should allow for modification of source script and reload the > > script when appropriate (or can be forced to do it) *without stopping the > > current execution of the script.* > > > > > > > > > > > > > > > ----- Original Message ---- > > > From: Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]> > > > To: Programming forum <[email protected]> > > > Sent: Wednesday, October 11, 2006 4:20:45 AM > > > Subject: [Jprogramming] "Hotswap" of script > > > > > > As J is interpreted, I understand that the scripts can be changed > > > on-the-fly. > > > > > > 1) Assuming I am creating a stand alone application that has one big ijs > > > file, how does this work? > > > 2) Or is there a specific way of organizing the scripts to allow this? > > > ---------------------------------------------------------------------- > > > 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 > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
