### 8.3 Porting ¶

If there is no initialization file for your Scheme implementation, you will have to create one. Your Scheme implementation must be largely compliant with

    IEEE Std 1178-1990,
    Revised^4 Report on the Algorithmic Language Scheme, or
    Revised^5 Report on the Algorithmic Language Scheme

in order to support SLIB. 8

http://cvs.savannah.gnu.org/viewcvs/*checkout*/scm/scm/r4rstest.scm is a file which checks compliance with much of R4RS.

`Template.scm` is an example configuration file. The comments inside will direct you on how to customize it to reflect your system. Give your new initialization file the implementation’s name with `.init` appended. For instance, if you were porting `foo-scheme` then the initialization file might be called `foo.init`.

Your customized version should then be loaded as part of your scheme implementation’s initialization. It will load `require.scm` from the library; this will allow the use of `provide`, `provided?`, and `require` along with the vicinity functions (these functions are documented in the sections Feature and Require). The rest of the library will then be accessible in a system independent fashion.

Please mail new working configuration files to `agj@alum.mit.edu` so that they can be included in the SLIB distribution.

#### Footnotes

##### (8)

If you are porting a Revised^3 Report on the Algorithmic Language Scheme implementation, then you will need to finish writing `sc4sc3.scm` and `load` it from your initialization file.