Discussion:
GTK3 bindings status
Mike Gran
2018-11-11 23:51:48 UTC
Permalink
Hi-

After a few weeks hacking, I have actually got a library that parses
GObject-Introspection *.typelib files to create Guile bindings, and I
have added just enough machinery to get GTK's famous Example 1 to run.

Theirs
https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
Mine
https://github.com/spk121/guile-gi/blob/master/test/example-1.scm

The library code is an awful mess, so I wouldn't bother trying to
build it or use it, yet, but, it was a milestone I though I might
report.

The cool part of that example is that I'm using a lambda as a GObject
button "clicked" signal callback, which ended up requiring quite a bit
of infrastructure and FFI.

So a few weeks ago there was a bit of discussion about the best way to
accomplish a GTK3 binding for Guile. I got a lot of great advice,
but, I decided to choose a low-level approach to it, mostly in C, for
now, which I believe is necessary to smooth the edges between
GTK's API and Scheme. Also, I decided to skip GOOPS for a more direct
approach, which may or may not be a terrible idea.

Regards,
Mike
Nala Ginrut
2018-11-12 00:40:38 UTC
Permalink
Hi Mike! I'm just here to say, thanks for the work!
Post by Mike Gran
Hi-
After a few weeks hacking, I have actually got a library that parses
GObject-Introspection *.typelib files to create Guile bindings, and I
have added just enough machinery to get GTK's famous Example 1 to run.
Theirs
https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
Mine
https://github.com/spk121/guile-gi/blob/master/test/example-1.scm
The library code is an awful mess, so I wouldn't bother trying to
build it or use it, yet, but, it was a milestone I though I might
report.
The cool part of that example is that I'm using a lambda as a GObject
button "clicked" signal callback, which ended up requiring quite a bit
of infrastructure and FFI.
So a few weeks ago there was a bit of discussion about the best way to
accomplish a GTK3 binding for Guile. I got a lot of great advice,
but, I decided to choose a low-level approach to it, mostly in C, for
now, which I believe is necessary to smooth the edges between
GTK's API and Scheme. Also, I decided to skip GOOPS for a more direct
approach, which may or may not be a terrible idea.
Regards,
Mike
Loading...