(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