Next: In-line Coding, Previous: Declarations, Up: Declarations [Contents][Index]
This section doesn’t apply to R7RS source or library files, since
their environments are completely specified by import
statements.
Other source files usually contain a line
(declare (usual-integrations))
near their beginning, which tells the compiler that free variables whose
names are defined in system-global-environment
will not be
shadowed by other definitions when the program is loaded. If you
redefine some global name in your code, for example car
,
cdr
, and cons
, you should indicate it in the declaration:
(declare (usual-integrations car cdr cons))
You can obtain an alphabetically-sorted list of the names that the
usual-integrations
declaration affects by evaluating the
following expression:
(eval '(sort (append usual-integrations/constant-names usual-integrations/expansion-names) (lambda (x y) (string<=? (symbol->string x) (symbol->string y)))) (->environment '(scode-optimizer)))