Taken together they allow you to write graphical applications for the Nokia 770 in Guile. For an example of this please see count.scm, a program I wrote to help with being a counting agent in the UK local elections of May 2006. As another example, here is a screenshot of another Guile-implemented app displaying some of its own source code. (I don't want to release this app yet, though, as it's not yet useful for anything.)
There is also a demo of using guile-debugging to step through some GnuCash code here, but please note that this is a little out of date. (In particular, setting a breakpoint is now much easier, and does not require the incantations shown in the first screen.) There are also some thoughts from long ago when I first started thinking about how the Emacs integration interface might look; these are probably of historical interest only - but if you do think that this original UI was better than what we have since ended up with, please let me know!
guile-gui is some Scheme code that implements a very simple graphical user interface for Guile (using the guile-gtk bindings). It is used as an optional component in Coot.
The latest release is guile-gui-0.2.tar.gz, dated 9th March 2001. Also available is a mini-essay, GUIfying the Guile REPL, which compares the approach taken by guile-gui with that of two other attempts to integrate the Guile REPL with a graphical UI.
Comments, contributions and bug-fixes are welcome.
scm-alist.scm implements a simple database with key/value pairs stored as a `read'-able SCM alist in a file.
hierarchical.scm implements a hierarchically keyed key/value database: it maps a single database with hierarchical keys into a hierarchically arranged set of leaf databases with simpler keys. A key such as "/a/b/c/d/e" is split at a configurable number of components - say 2 - from the leaf end, and interpreted as referencing the key "d/e" in a "leaf" database called "/a/b/c/". Where the leaf database is file-based (e.g. scm-alist.scm), this configurability allows you to balance fast access against having lots of tiny database files that waste disk space.
scm-alist.scm and hierarchical.scm hint at a generic GOOPS-based database interface, of the type suggested in the Guile wish list. If I have time, I would like to look at the real database modules that others have written, and try to implement a generic database interface properly.
backup.scm is a module that implements full or incremental backup of any specified directory subtree to a backup filesystem location (not to physical backup devices). backup.scm stores information about what has been backed up in a hierarchical database provided by scm-alist.scm and hierarchical.scm.
filesys.scm is a module containing some utility filesystem-related functions that are used by the above.
© Neil Jerram 2001, 2006.