[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Sun, 28 May 2006 13:39:44 +0200
Just wanted to give an opportunity for feedback -- I'm going to be
hacking Guile bindings for GStreamer 0.10, which is forcing me to
revisit some old choices.
The topic I'm currently considering is the placing of the generics.
Right now, to ensure that different guile-gnome modules attach methods
to the same generic, guile-gnome adds bindings to the root module.
Here's the rationale, from guile-runtime.c in g-wrap:
/* 1. methods of generic functions can come from any module.
* eg gst_props_entry_get and g_object_get.
* 2. the generic function can only be defined in one place, or it loses
* all knowledge of other methods (gst_props_entry_get replaces all
* definitions from other modules, eg g_object_get.)
* 3. therefore, we export the bindings for generics to the root module
It's pretty terrible. I think it was Marius who had the idea a year ago
to stuff the generic definitions in a special module, which is what I'm
looking at doing. So if you want the generic function shorthands, you
can get them by importing (gnome generics).
The other option would be seeing if #:merge-generics is sufficient for
this purpose. I'll have to look into it. In any case this will take some
g-wrap hacking to support putting your generics in other modules.
I will be requiring guile 1.8 for threading reasons, at least in the
GStreamer bindings. For now the guile-gnome-platform 2.7.99 up on
gnu.org works fine with either.
Cheers, and do comment if you have a comment,
- Development plans!,
Andy Wingo <=