( Unpacking the SCM type

Info Catalog ( Signalling Type Errors ( How Guile does it
 18.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
  -- Data type: SCM
      `SCM' is the user level abstract C type that is used to represent
      all of Guile's Scheme objects, no matter what the Scheme object
      type is.  No C operation except assignment is guaranteed to work
      with variables of type `SCM', so you should only use macros and
      functions to work with `SCM' values.  Values are converted between
      C data types and the `SCM' type with utility functions and macros.
  -- Data type: scm_t_bits
      `scm_t_bits' is an integral data type that is guaranteed to be
      large enough to hold all information that is required to represent
      any Scheme object.  While this data type is mostly used to
      implement Guile's internals, the use of this type is also
      necessary to write certain kinds of extensions to Guile.


* Relationship between SCM and scm_t_bits
* Immediate objects
* Non-immediate objects
* Heap Cell Type Information
* Accessing Cell Entries
* Basic Rules for Accessing Cell Entries
Info Catalog ( Signalling Type Errors ( How Guile does it
automatically generated byinfo2html