[Top] [Contents] [Index] [ ? ]

Data Representation in Guile

This essay is meant to provide the background necessary to read and write C code that manipulates Scheme values in a way that conforms to libguile's interface. If you would like to write or maintain a Guile-based application, this is the first information you need.

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.

We assume you know both C and Scheme, but we do not assume you are familiar with Guile's C interface.

1.0 Data Representation in Scheme  Why things aren't just totally straightforward, in general terms.
1.1 How Guile does it  How to write C code that manipulates Guile values, with an explanation of Guile's garbage collector.
1.2 Defining New Types (Smobs)  How to extend Guile with your own application-specific datatypes.



This document was generated by GNU software owner on June, 19 2000 using texi2html