A Subr is a header whose CDR points to a C code procedure.
Scheme primitive procedures are subrs. Except for the arithmetic
tc7_cxrs, the C code procedures will be passed arguments (and
return results) of type SCM.
+, -,
*, /, max, and min.
CDR should be a function which takes and returns type
double. Conversions are handled in the interpreter.
floor, ceiling, truncate, round,
$sqrt, $abs, $exp, $log, $sin,
$cos, $tan, $asin, $acos, $atan,
$sinh, $cosh, $tanh, $asinh, $acosh,
$atanh, and exact->inexact are defined this way.
If the CDR is 0 (NULL), the name string of the
procedure is used to control traversal of its list structure argument.
car, cdr, caar, cadr, cdar,
cddr, caaar, caadr, cadar, caddr,
cdaar, cdadr, cddar, cdddr, caaaar,
caaadr, caadar, caaddr, cadaar,
cadadr, caddar, cadddr, cdaaar,
cdaadr, cdadar, cdaddr, cddaar,
cddadr, cdddar, and cddddr are defined this way.
BOOL_T or BOOL_F.
UNDEFINED is passed in its place.
UNDEFINED is passed in its place.
SCM arguments.
SCM arguments.