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

Reply via email to