Standard Names (MIT/GNU Scheme 11.2)

Next: In-line Coding, Previous: Declarations, Up: Declarations [Contents][Index]

#### 4.2.1 Standard Names

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