[compiz] Re: Extension languages and Compiz.
racarr at beryl-project.org
Thu Apr 26 03:23:38 PDT 2007
It's worth noting that another alternative is ifdefing code for
specific interpreters in various plugins (and insuring the plugins
that need to set up the interpreter enviroment load first) and having
./configure --with-scheme --with-python --without-ruby. Or something
of the vein. But I don't think we really want this either.
On 4/26/07, Robert Carr <racarr at beryl-project.org> wrote:
> My recent work on Compiz-scheme has brought to my attention several
> problems preventing a real compiz extension language.
> Note that when I refer to an extension language, I am not referring to
> the ability to add plugins in some other languages, but more of
> something in the vein of emacs lisp.
> The major problem right now is extension languages are locked in to
> one plugin and what core exposes. What I mean by this is it's easy to
> add support for something like:
> (window-rule (make-rule (set-opacity-when (window-is tooltipp) 0.5)))
> However it's impossible to add support for something like:
> (scale-window-when (window-is negativep)).
> There are two possible solutions to this:
> 1. Add basic support for a specific interpreter in core. Core would
> expose wrapper functions around the interpreter to easily enable
> plugins to add C functions to the interpreter. On one hand, we
> probably want to avoid binding core to a specific interpreter, on the
> other hand this sounds rather pleasant compared to the alternative.
> 2. Add an interpreter interface, with wrappable functions for plugins
> embedding a specific interpreter to wrap. I think it is abundantly
> obvious why such an interface would be unreasonably complex and likely
> bug ridden, exposing no specifics of an interpreter to individual
> plugins, but still having conversion from interpreter types->native
> types (a variable number of arguments per function + return types),
> plus adding new types and other constructs is exceedingly difficult,
> and complex to the point where I don't think we would want it.
> Does anyone else have any thoughts?
More information about the compiz