# ;; -*- mode: org; coding: utf-8 -*-

#+TITLE: Grip README

* Grip

** About Grip

[[http://www.nongnu.org/grip/][Grip]], a Grip of Really Important Procedures, is a [[http://www.gnu.org/software/guile/][Guile]] Scheme toolbox
currently composed of Grip itself, Grip-SQLite, Grip-Gnome and
Grip-Clutter.

	Notes:

	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.

Visit the NEWS file or see the [[http://www.nongnu.org/grip/news.html][News]] page for for the list of visible
changes since the last release, as well as older news.

** Objective

[[http://www.nongnu.org/grip/][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
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 [[http://www.nongnu.org/guile-lib/][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
[[http://www.gnu.org/software/guile-cv][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...

** Documentation

[[http://www.nongnu.org/grip/][Grip]] documentation is available [[file:///home/david/gnu/grip/git-web/learn.html][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

** Savannah

Grip also has a [[http://savannah.nongnu.org/projects/grip][Savannah]] (non GNU) project page.

** License

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.
