Previous: Signalling Type Errors, Up: How Guile does it

A.2.7 Unpacking the SCM Type

The previous sections have explained how SCM values can refer to immediate and non-immediate Scheme objects. For immediate objects, the complete object value is stored in the SCM word itself, while for non-immediates, the SCM word contains a pointer to a heap cell, and further information about the object in question is stored in that cell. This section describes how the SCM type is actually represented and used at the C level.

In fact, there are two basic C data types to represent objects in Guile: SCM and scm_t_bits.