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)))