g-wrap and guile-gnome/gtk

Rob Browning rlb@cs.utexas.edu
12 Nov 2000 15:54:44 -0600

Ariel Rios <ariel@arcavia.com> writes:

> If there is a way of having a performance icnrease it would be even
> better ;) I am interested in doing the Corba /ORBit bindings using
> g-wrap or whatever new schema we came up with

Well, I think we can probably separate this into two issues.

  1) What should an API spec look like (say for gtk, glib, opengl,
     curses, etc.).

  2) How should the implementation work?  (i.e. we can potentially
     change that for performance later in any way we like without
     having to change the spec).

Also, after noticing the in, out, inout, arg bits of your latest .defs
proposal, it looks like it's somewhat mirroring other IDLs (of which,
I'm only really passingly familiar with ILU).

One thing I've wondered about for a while now is whether or not it
might make sense to mirror (in scheme forms) the semantics of one of
the IDLs (CORBA being the biggest elephant on the block).

However, on the other side of that fence, I also wonder, whether or
not there might be a legitimate place for a tool (and perhaps g-wrap
should be that tool), that's exclusively focused on providing very
well integrated, efficient, and clear (both in specification and in
execution) bindings for C APIs from guile.  Basically the question
comes down to "Is it possible in this case to server all masters

Or in more concrete terms, say I were to try to do something very
CORBA-esque with g-wrap's spec.  Would I end up with a tool that was
much more complex, harder to implement and understand, and didn't
really provide any substantial improvments as compared to a tool
that's specifically aimed at just the guile<->C API problem?

I don't really know, and I'd love to hear arguments either way.  To a
substantial extent, I'm not the best person to evaluate this argument,
since I have little or no experience with CORBA, though I've done
plenty of DO/RPC related work.

Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930