( Data Representation

Info Catalog ( Programming Overview ( Top ( GH
 18 Data Representation in Guile
 *by Jim Blandy*
    [Due to the rather non-orthogonal and performance-oriented nature of
 the SCM interface, you need to understand SCM internals *before* you
 can use the SCM API.  That's why this chapter comes first.]
    [NOTE: this is Jim Blandy's essay almost entirely unmodified.  It
 has to be adapted to fit this manual smoothly.]
    In order to make sense of Guile's SCM_ functions, or read libguile's
 source code, it's essential to have a good grasp of how Guile actually
 represents Scheme values.  Otherwise, a lot of the code, and the
 conventions it follows, won't make very much sense.  This essay is meant
 to provide the background necessary to read and write C code that
 manipulates Scheme values in a way that is compatible with libguile.
    We assume you know both C and Scheme, but we do not assume you are
 familiar with Guile's implementation.


* Data Representation in Scheme       Why things aren't just totally
                                         straightforward, in general terms.
* How Guile does it                   How to write C code that manipulates
                                         Guile values, with an explanation
                                         of Guile's garbage collector.
* Defining New Types (Smobs)          How to extend Guile with your own
                                         application-specific datatypes.
Info Catalog ( Programming Overview ( Top ( GH
automatically generated byinfo2html