Scheme Requests for Implementation

srfi.png

The purpose of the Scheme Requests for Implementation (SRFI) process is to help Scheme users write portable, useful code. We write concrete, detailed proposals and reference implementations for libraries and other additions to the Scheme language, and we encourage Scheme implementors to adopt them.

If you're interested in reading existing proposals, writing a new one, providing feedback on a draft proposal, helping with a reference implementation, or reporting a bug, please read about our process, skim our FAQ, and subscribe to some of our mailing lists.

Here's a complete list of of more than 150 existing SRFIs:

Sort by

In addition to the complete list above, there are detailed lists of draft, final, and withdrawn SRFIs.

Every SRFI is hosted on Github, but if you'd like a complete archive of all SRFI documents and code, please download srfi.tgz.

The SRFI process has been important to the development of some of the official Scheme standards, including R6RS and R7RS. It has been running since 1998, and there have been many different editors.

Here's a graph of the total number of SRFIs since SRFI 0 was published on 1999/1/5:

the SRFI editors (email)