DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(guile.info.gz) Data Representation

Info Catalog (guile.info.gz) Programming Overview (guile.info.gz) Top (guile.info.gz) 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.
 

Menu

 
* 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 (guile.info.gz) Programming Overview (guile.info.gz) Top (guile.info.gz) GH
automatically generated byinfo2html