Taking the defs file issue

Rob Browning rlb@cs.utexas.edu
15 Nov 2000 12:36:04 -0600

Marius Vollmer <mvo@zagadka.ping.de> writes:

> Yes, very true.  I guess my main point is that I don't want
> guile-gtk to degrade when switrhcing to g-wrap.  That is, the work
> of avoiding "dangerous" things has been done (more or less) and I
> don't want to lose this.

Totally understandable.

> Well, I might argue that providing a tool that makes it really easy to
> do dangerous things is not a good thing, and that we at least should
> put up warning signs all over the place that the quick solution is not
> necessarily the best solution and that people should spend a moments
> thought on how they can make the bindings safer etc.

No argument here.  In the long run, I'd absolutely prefer the really
nice, really clean, really safe solution, though it might be nice to
have the lower-level dangerous stuff around if you ask for it
explicitly somehow (presuming there were cases where that would be

> Cleaning up reference counting made the Gtk+ API better in my view,
> independent from the fact that I needed the improvement for the
> Scheme bindings.
> Anyway, we can not always change existing APIs and I got lucky that
> the Gtk+ people have listened to me, but I'd still like bring this
> topic up.  I also see it as a kind of education.  There are just too
> many crappy APIs out there that just don't need to be that way.  API
> design is significantly harder than mere coding and I'm unhappy with
> most of the APIs.  Just look at libc.  Horrors!  :-)
> Ok, well, I guess I don't need to lecture you, but I couldn't help
> myself.

All true.  You're preaching to the choir here :>

> Yes, but when the API allows a safe binding, g-wrap should be prepared
> to generate one.  This is probably mostly an issue of documenting what
> exactly a safe binding would be.  How to bridge the Scheme / C gap.  I
> feel that for all my rambling, I should really sit down and write such
> a thing...

Actually, this could be very helpful.  I'd also love to have better
documentation of related guile low-level issues like what do
GH_DEFER/ALLOW_INTS really do, and when do you need to use them?

Also perhaps a discussion of the changes that had to be made to Gtk+
with a commentary on why they helped would be really informative.

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