[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Grip 0.2.0 is released

From: David Pirotte
Subject: Grip 0.2.0 is released
Date: Sun, 17 Jun 2018 23:39:00 -0300


Grip 0.2.0 is released.

* About

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


        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.

* Download

Here are the compressed sources and a GPG detached signature [*]:

This released was bootstrapped with the following tools:

        -] autoconf         (GNU Autoconf) 2.69 
        -] automake         (GNU automake) 1.15.1 
        -] makeinfo         (GNU texinfo) 6.5 
        -] pdflatex         3.14159265-2.6-1.40.19 (TeX Live 2018/Debian) 
        -] guile-2.2
        -] guile-lib-1.0
        -] sqlite3          3.24.0
        -] guile-gnome-gtk-2 2.16.5
        -] guile-clutter-1.0

* Changes since 0.1.2

Here is a summary of the changes since version 0.1.2. See Grip's git
summary [1] and git log 2] for a complete description.


** Installation location changes

The default and --prefix installation locations for source modules and
compiled files has been changed, and, in the absence of the new
configure option described below, are now:


In the above, $(datadir) is substituted to the default /usr/local/share
or /your/prefix/share and $(libdir) is substituted to /usr/local/lib or
/your/prefix/lib, when/if --prefix was passed.

$(GUILE_EFFECTIVE_VERSION) is substituted to the stable version number
with which Grip is being compile, for example, 2.2

This change makes Grip compatible with the GNU Coding Standards, but it
also implies that, unless you use the new configure option describe
below, you will have to augment both Guile's variables %load-path and
%load-compiled-path, respectively, with the two (substituted) paths
described above, so that Guile finds Grip's installed source modules and
compiled files (see Grip's installation 'Notes' for more on this).

** New configure option

The configure option --with-guile-site has been added, used to
explicitly ask Grip's source modules and compiled files to be installed
using Guile's global site and site-ccache directories respectively (see
Grip's installation 'Notes' for more on this).

It will only be honored if (and only if) it is passed as:


  [ in this case, there is obviously no need to augment Guile's
  [ variables %load-path and %load-compiled-path

** Module name changes

A few modules were having their name using plural, such as dates,
strings, ...  I decided to rename these using singular.  A few have been
renamed, such as fs-ops -> file.  Here is list of these changes:

| New name             | Previous name          |
| (grip module)        | (grip reexport)        |
| (grip optargs)       | (grip keywords)        |
| (grip date)          | (grip dates)           |
| (grip file)          | (grip fs-ops)          |
| (grip list)          | (grip lists)           |
| (grip regex)         | (grip regexp)          |
| (grip string)        | (grip strings)         |
| (grip latex)         | (grip tex-utils)       |
| (grip queue)         | (grip push)            |
| (grip iter)          | (grip do)              |
| (grip angle)         | (grip nbs pi)          |
| (grip float)         | (grip nbs fp)          |
| (grip number hex)    | (grip nbs hex)         |
| (grip number nb2str) | (grip nbs nb2str)      |
| (grip number str2nb) | (grip nbs str2nb)      |
| (grip number)        | (grip nbs)             |
| (grip gnome color)   | (grip gnome colours)   |
| (grip gnome mdialog) | (grip gnome mdialogs)  |
| (grip clutter color) | (grip clutter colours) |
| (grip db filter)     | (grip db filters)      |

** New modules

(grip store)

** Interfaces changes

The following procedures have been renamed, and their interface has
sometimes also changed (see the reference manual, also available

*** (grip optargs)


  both the two arguments and the two returned values have been inverted:
  the first returned value is now the list of keyword arguments listed
  in KEYWORDS (which is now the first argument of the procedure),
  followed by the list of all other arguments.

*** (grip list)

| New name         | Previous name |
| list-replace-all | list-replace  |

*** (grip string)

| New name               | Previous name        |
| string-replace-all     | str/replace-all      |
| string-escape-sql      | str/prep-str-for-sql |
| string-escape-filename | str/prep-str-for-fs  |
| string-tokens          | str/get-tokens       |
| string-contains-ixs    | str/contains?        |
| string-span            | str/span             |
| string-read            | str/read             |

*** (grip float)

| New name    | Previous name |
| float-zero? | fp/zero?      |
| float=?     | fp/=?         |
| float<?     | fp/<?         |
| float>?     | fp/>?         |
| float-round | fp/round      |

** New interfaces

*** (grip goops)


*** (grip optargs)


*** (grip string)


*** (grip store)


*** (grip angle)


*** (grip float)


** New variables

*** (grip string)


** Documentation

Till now, Grip documentation was just a mock-up. There still is quite a
lot to do - along with reviewing/rewriting grip's modules) - but the
good news are I started to work on it.

The following modules are now fully documented:

  (grip module)
  (grip goops)
  (grip optargs)
  (grip list)
  (grip string)
  (grip queue)
  (grip store)
  (grip iter)
  (grip angle)
  (grip float)
  (grip server)
  (grip xft)
  (grip utils)

The reference manual is now available online.

** Bugs fixed

There was a bug in str/replace-all, that would produce wrong results if
the str argument would contain valid regexp characters.  This has been
fixed in string-replace-all.

* Bug reports

Please send Grip bug reports to one of the following addresses:


Please use 'Grip - bug report: ' to preceed the subject line of Grip bug
reports related emails, thanks!

* Mailing lists

For the time being, Grip uses Guile's mailing list:

  address@hidden is for general user help and discussion;

  address@hidden is used to discuss most aspects of Grip, including
  development and enhancement requests.

Please use 'Grip: ' to preceed the subject line of Grip related emails,


[*] Use a .sig file to verify that the corresponding file (without the
    .sig suffix) is intact.  First, be sure to download both the .sig
    file and the corresponding tarball.  Then, run a command like this:

        gpg --verify grip-0.2.0.tar.gz.sig

    If that command fails because you don't have the required public
    key, then run this command to import it:

        gpg --keyserver --recv-keys A3057AD7

    and rerun the 'gpg --verify' command

Attachment: pgpgyjeo3vxUx.pgp
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]