Next: User Interface Builder. Up: Application Program Interface Previous: Visual Metaphors.

Connection to Scripting Languages.

Several MADE objects make use of scripting languages; animation and interaction objects have been mentioned in the preceding sections, and there are others, too. It is also perfectly feasible to create full-blown applications, either in a prototype or even in a final form, where the ``user-level'' program is in fact a script.

MADE does not introduce it own scripting language. Instead, all objects that make potential use of scripting access the interpreter functionality via an abstract general scripting interface. This general scripting interface is then specialized to access specific languages and their interpreters. This lets the final choice over which scripting language is used be made by the MADE application developer or even the end-user. Furthermore, several scripting languages can coexist within the same MADE application (see [10]).

In order to be usable for MADE, a scripting language should have an embeddable interpreter. Ie, it should be possible to link the interpreter to C/C++ and C/C++ functions should be accessible from the language somehow. Conversely, functions of the scripting language should be accessible from C/C++. Note that the availability of the dynamic call interface of MADE objects plays an essential role in interfacing such interpreters: it is not necessary to create a special ``stub'' for each MADE object in the scripting language; indeed, MADE objects can be created, and their methods invoked, based only on their signature.

There are several general embedded interpreters available. Currently, the MADE toolkit includes an interface to Wool, a Lisp dialect implemented by Bull ([23]), and to Python, a language developed at CWI ([31]). In the future, interfacing to Tcl ([25]) or other emerging languages will also be considered.



Next: User Interface Builder. Up: Application Program Interface Previous: Visual Metaphors.


ivan@petunia.cwi.nl
Tue Jan 25 14:21:49 MET 1994