From help-octave-request at bevo dot che dot wisc dot edu Sun Dec 10 12:42:53 2000 Subject: Re: The future of Octave From: Kevin Straight To: Paul Kienzle cc: "Stef Pillaert (KAHO)" , Andy Adler , help-octave@bevo.che.wisc.edu Date: Sun, 10 Dec 2000 10:42:35 -0800 (PST) On Sat, 9 Dec 2000, Paul Kienzle wrote: > I've been hesitant to pursue this option for three reasons. > > 1) The need to learn a second language for programming callbacks > 2) The overhead of installing and running a second large interpreter > 3) The ungainliness of tcl/tk > Tcl is too slow, especially since everyone is obviously concerned about execution time. I say we should use C++m which Octave can already dynamicly load. The embedded interpreter model sounds like it has merit, though. Let me see if I understand you: *) we would have a second process in memory that knew how to draw all the widgets and process callbacks. *)We would write an API of functions called in Octave, which would communicate with this process (with pipes, I guess, but I only know unix/linux and don't know if this would be portable) to ask for widgets, then request their states (weather a button was pressed, for instance) Again, I only know Linux, but I would say that (as long as you could use dynamic linking) you could run something like this in less than one meg of user RAM. I would worry about stability, though. > It occurs to me, though, that we can apply the same approach that I would > recommend for an embedded GUI, which is a widget register defining the > range of widgets available, and their properties and callbacks (including > some packing widgets). The widget definition can include all the bits > of the foreign interpreter that are needed, leaving your Octave scripts > with pure Octave code. > > The overhead of the second interpreter is offset by the benefit of having > the GUI in a separate process. Even if we did our own specialized > GUI in a separate process, we would still have to incur that overhead > (though presumably the specialized interpreter would be very simple). > ========================== Kevin Straight University of Idaho www.uidaho.edu/~stra9456 ========================== ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------