Re: scripting with bonobo

Hi Dirk,

On Mon, 26 Jun 2000, Dirk-Jan C. Binnema wrote:
> In the plan for Bonobo world domination, scripting is
> pretty important, I guess (where 'scripting' means programming using
> some extension language, within the context of some program, such as
> Emacs elisp or Gimp ScriptFu).


> It seems that scripting will used in more and more programs, ie. gb in
> gnumeric and (perhaps) some yet-to-be-decided language in Abiword. It
> seems though that the same problem (embedding language X in
> application Y) is solved over and over again. 

	Yep; we really need to do scripting in a more de-coupled way
probably via. CORBA.

> deserve a lot of admiration; it's just the translators-part that's not
> going to work, IMHO).

	I quite agree.

> So what other approaches exist? What about defining some
> idl-interfaces for scripting languages and their host application?
> This is approach chosen by the MS ActiveScript mechanism. The
> embeddable language will do stuff like (*very* simplified example): 
> interface EmbeddableLanguage {
>     void initialize ( in Host host );
>     void run ( in string script );
> };
> interface Host {
>     void on_error  ( in Error error );
> };

	Do you have complete listings of the ActiveScript API ? it would
be great to code up a bonobo equivalent.

> Now, the interesting thing is of course how to get application
> specific stuff in your scripting environment, e.g. your 'Sheet'-object.
> To do that, we can add another method to EmbeddableLanguage:
> 	void add_object ( in Unknown unk, in string known_as );

	How does MS do that ? do they collect objects from some sort of
global type database ? perhaps we should be doing this, generating it from
our idl.

> The beauty of the mechanism is the loose binding between host app and
> scripting language.

	It would be extremely nice.

> On the Host side, an application must be able to serve it's 'object
> model' as a Bonobo (CORBA) object. This may not be trivial for all
> apps.

	Sure; however the essence of bonobo's client wrappers is to try
and make everything _extremely_ easy for the programmer, so if you have
any ideas about how to do this, do let me know.

> So, do any of you think this is useful for application scripting in the
> Bonobo era? If so, I could write down some more complete IDL interfaces.

	Yes indeed, please do. Make a little test program, perhaps in
samples/script and get a testbed working if you can; do send patches to
the list as and when you hit milestones.



--  <><, Pseudo Engineer, itinerant idiot

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]