Skip to content
Bindings for GObject Introspection and libgirepository for Guile
C Scheme Shell Makefile M4 C++ Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build-aux
doc Add some documentation on function parameter mapping Jan 17, 2020
docs
examples
m4
module
src
test
tools Drop tools/guile-gi. Oct 27, 2019
.dir-locals.el
.gitattributes
.gitignore #36: use system's gimarshallingtests to build libmarshall Sep 5, 2019
.indent.pro
.travis.yml Print test-suite.log to Travis console on make check failure Jun 29, 2019
AUTHORS
COPYING
Dockerfile Print test-suite.log to Travis console on make check failure Jun 29, 2019
LICENSE
Makefile.am Fix CSS path in generated html Nov 3, 2019
NEWS
README.md
bootstrap
configure.ac add guile 3.0 to GUILE_PKG in configure.ac Dec 30, 2019
guix.scm Update guix.scm. Oct 27, 2019

README.md

Guile GI

Build Status

This is a library for GNU Guile to create language bindings via GObject Introspection.

GNU Guile is an implementation of Scheme, which is a Lisp-like language. This library allows Guile to use GObject-based libraries -- such as GTK+3, GLib, and WebKit2 -- by generating a Scheme API from the GObject Introspection information provided by those libraries.

This is alpha code. It is lightly documented. The API is stabilizing, but may still be subject to change.

Guile GI has two primary components.

  • The gi scheme modules: guile modules that provide functionality to dynamically generate Scheme API from GObject typelib files

  • libguile-gi.so or libguile-gi.dll: a compiled module that contains glue code to interface with GObject

To create bindings, use the use-typelibs syntax found in the (gi) library.

For the moment, the docs are at spk121.github.io/guile-gi

Try:

guix environment --ad-hoc -l guix.scm guile
guile-gi examples/browser.scm

Or, create and run in a development environment

guix environment -l guix.scm
./bootstrap && ./configure && make
tools/uninstalled-env tools/guile-gi examples/browser.scm
You can’t perform that action at this time.