Skip to content

List supported SRFIs #1

Open
Open
@lassik

Description

@lassik

We should aim to eventually list the bundled-srfi-implementations for all releases of all implementations.

Bundled vs third-party SRFI implementations

The word bundled is important. Some SRFIs can be implemented in pure Scheme, so for example Chicken offers some of them as optional third-party packages instead of bundling them with the implementation (Peter Bex brought this important distinction to our attention). A list of third-party SRFI implementations is not as easy to amass, hence the scope will be clearer if we stick to the bundled ones in this metadata.

The problem of finding third-party SRFI implementations can be solved by putting that information in package metadata instead of Scheme implementation metadata. If each package (currently in packhack, eventually in some more principled package index :p) optionally lists what SRFI(s) it implements, and also lists what Scheme implementations it supports, then we can write a little code to derive a list of third-party packages that extend the SRFI support of a given Scheme implementation.

How to gather the list of bundled SRFIs for each Scheme implementation

We would ideally have a list for each release of each implementation, so we need some mostly automated solution tailor made to each of them. Writing the lists by hand is too error-prone if we want to cover all historical releases.

We could start from hand-written lists, though. Arthur has a comprehensive and reasonably error-free list covering recent versions of many, many implementations.

Frank has some code to auto-extract lists from the documentation of a few implementations. This could serve as the starting point for the auto-extraction tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions