Next: Guile API, Previous: Guile Output Ports, Up: guile [Contents][Index]
The module
configuration statement causes loading and
initialization of the guile
module:
module modname guile [init-script=script] \ [init-fun=function"]
Upon module initialization stage, the module attempts to load the
file named script. The file is loaded using
primitive-load-path
call (see Loading in The Guile Reference Manual), i.e. it is searched in the Guile
load path. The init-fun
parameter supplies the name of the
initialization function. This Scheme function returns virtual
function tables for the module itself and for each database that uses
this module. It must be declared as follows:
(define (function arg) …)
This function is called several times. First of all, it is called after
script is loaded. This time it is given #f
as its
argument, and its return value is saved as a global function table.
Then, it is called for each database
statement that uses module
modname (defined in the module
statement above), e.g.:
database dbname modname …
This time, it is given dbname as its argument and its return is stored as the virtual function table for this particular database.
The following example function returns a complete virtual function table:
(define (my-smap-init arg) (list (cons "init" db-init) (cons "done" db-done) (cons "open" db-open) (cons "close" db-close) (cons "query" db-query) (cons "xform" db-xform)))