SCM
6.1.3: Header Cells
Headers are Cells whose CDRs point elsewhere in memory,
such as to memory allocated by malloc.
- Header: spare
-
spare
tc7 type code
- Header: tc7_vector
-
scheme vector.
- Macro: VECTORP
x
- Macro: NVECTORP
x
-
Returns non-zero if x is a
tc7_vector or if not, respectively.
- Macro: VELTS
x
- Macro: LENGTH
x
-
Returns the C array of
SCMs holding the elements of vector
x or its length, respectively.
- Header: tc7_ssymbol
-
static scheme symbol (part of initial system)
- Header: tc7_msymbol
malloced scheme symbol (can be GCed)
- Macro: SYMBOLP
x
-
Returns non-zero if x is a
tc7_ssymbol or
tc7_msymbol.
- Macro: CHARS
x
- Macro: UCHARS
x
- Macro: LENGTH
x
-
Returns the C array of
chars or as unsigned chars holding
the elements of symbol x or its length, respectively.
- Header: tc7_string
-
scheme string
- Macro: STRINGP
x
- Macro: NSTRINGP
x
-
Returns non-zero if x is a
tc7_string or isn't,
respectively.
- Macro: CHARS
x
- Macro: UCHARS
x
- Macro: LENGTH
x
-
Returns the C array of
chars or as unsigned chars holding
the elements of string x or its length, respectively.
- Header: tc7_bvect
-
uniform vector of booleans (bit-vector)
- Header: tc7_ivect
-
uniform vector of integers
- Header: tc7_uvect
-
uniform vector of non-negative integers
- Header: tc7_fvect
-
uniform vector of short inexact real numbers
- Header: tc7_dvect
-
uniform vector of double precision inexact real numbers
- Header: tc7_cvect
-
uniform vector of double precision inexact complex numbers
- Header: tc7_contin
-
applicable object produced by call-with-current-continuation
- Header: tc7_cclo
-
Subr and environment for compiled closure
A cclo is similar to a vector (and is GCed like one), but can be applied
as a function:
-
the cclo itself is consed onto the head of the argument list
-
the first element of the cclo is applied to that list. Cclo invocation
is currently not tail recursive when given 2 or more arguments.
- Function: makcclo
proc len
-
makes a closure from the subr proc with len-1 extra
locations for
SCM data. Elements of a cclo are referenced
using VELTS(cclo)[n] just as for vectors.