The SRFI process, or Scheme Request for Implementation, is a process for proposing additions or changes to the Scheme language to be implemented. The SRFI process is not formally related to the RnRS process, but it is likely that following revisions of RnRS will incorporate elements of certain SRFIs. Although they are not even 'official de facto' standards, as the RnRSs are, they are still fairly widely implemented. (Of course, some purported Scheme implementations don't even comply with R5RS.) The list of what Scheme implementations implement what SRFIs on is outdated and very incomplete; it would be better to consult individual implementations' manuals.

The SRFI process is used for several different areas:

Note that the SRFI process is not for proposing undeveloped, fresh ideas to present to the public. Such proposals are better suited to comp.lang.scheme or the SRFI-wishlist page on this wiki.

Support for SRFIs

Shiro has a nice overview on which SRFIs are supported by how many implementations on

Referring to SRFIs on the community-scheme-wiki

If you want to refer to an SRFI from within text on this wiki, do it like so:

[[srfi:9]] is a good way to make records.

This will result in the following output:

srfi:9 is a good way to make records

Tracking R6RS SRFIs

Since Derick Eddington originally ported most of the SRFIs to R6RS's library system, many forks have sprung up. This section attempts to keep track of them.

Only rotty's branches contain SRFI-45. dharmatech's branch modifies (srfi :1) to (srfi s1), in order to be portable to Windows.