Guile provides both ordinary cells with two slots, and double cells with four slots. The following two function are the most primitive way to allocate such cells.
If the caller intends to use it as a header for some other type, she
must pass an appropriate magic value in word_0, to mark it as a
member of that type, and pass whatever value as word_1, etc that
the type expects. You should generally not need these functions,
unless you are implementing a new datatype, and thoroughly understand
the code in
If you just want to allocate pairs, use
Allocate a new cell, initialize the two slots with word_0 and word_1, and return it.
Note that word_0 and word_1 are of type
If you want to pass a
SCM object, you need to use
scm_cell, but allocates a double cell with four