Grip, a Grip of Really Important Procedures, is a Guile scheme toolbox currently composed of Grip itself, Grip-SQLite, Grip-Gnome and Grip-Clutter.


Grip will try to install all its components, but will only do so if it can effectively install Grip (core) and can statisfy the component specific requirement(s): if you are only interested by Grip (core), then you only need Guile, and you may safely ignore all other dependencies.

Grip (core), Grip-SQLite and Grip-Gnome are being rewritten and documented, you will spot that by yourself in the code if you visit it, and read the documentation.

Until this process is complete, the modules you can safely use and rely on are the Grip (core) modules that are documented, as well as all Grip-Clutter modules and examples.

You are welcome to try and use Grip, and, keeping the above in mind, help us to get it better - reviewing its interface design, the source code, its tests and documentation.

New features are also welcome! Though in order to acheive stability, to the best we can, we should, with all due respect and kindness, be 'nit-picky' with each other, and only include those that reach a consensus, first with respect to their inclusion per se, then in terms of interface design, implementation, tests and documentation.

Latest News

June 2018

Grip version 0.2.0 is released. See the News page for the list of visible changes since the last release, as well as older news.


Grip started as a personnal toolbox, aggregating modules I wrote to support other projects and clearly hosting 'reusable' functionalities. Now that I started to revisit Grip's core modules [May - June 2018], restructuring and rewritting them, with a proper interface design, implementation, documentation and test-suite, now is a good time to share this work and invite other guilers to either use Grip, or even beter contribute to it.

The idea is similar to the one expressed in Guile-Lib, that is, a place for people to collaborate to the development of a common library, though less intimidating maybe and, unlike Guile-Lib, Grip will tolerate, under strict conditions, some C code: this is notably to support and boost Guile-CV floating point operations, at least till Guile has an AOT compiler, able to offer similar performance results for fixed size floating points and integer operations.

I should mention that I started Grip far before I became one of the Guile-Lib co-maintainer, and that the intention is not to compete with it, but rather, to offer sort of a code staging for it, where people can experiment new functionalities with a bit more flexibility. With time, the well designed, stable, documented and tested pure scheme interfaces could be moved to Guile-Lib.

The name

The term Grip is from the early era of the circus. See the following Wikipedia, page for a full description, where you’ll read the following extract:

... From there it was used in vaudeville and then in today’s film sound stages and sets. Some have suggested the name comes from the 1930s–40s slang term for a Tool Bag or Grip that these technicians use to carry their tools...


Grip documentation is available online. You may also look at the Grip manual by running info grip or find it, if you installed Grip manually and did run make install-html, by looking at $prefix/share/doc/grip/grip.html/. If you installed Grip using a distribution package, you may find it, perhaps, by looking at /usr/share/doc/grip/ or similar directories on your system


Grip also has a Savannah (non gnu) project page.


Grip is a free software, distributed under the terms of the GNU General Public License GPLv3 or higher. You must be aware there is no warranty whatsoever for Grip. This is described in full in the license.