r/scheme • u/aartaka • 21h ago
r/scheme • u/arthurgleckler • 10h ago
SRFI 287: Graphs
Scheme Request for Implementation 287,
"Graphs",
by Duncan Guthrie,
is now available for discussion.
Its draft and an archive of the ongoing discussion are available at https://srfi.schemers.org/srfi-287/.
You can join the discussion of the draft by filling out the subscription form on that page.
You can contribute a message to the discussion by sending it to [srfi-287@srfi.schemers.org](mailto:srfi-287@srfi.schemers.org).
Here's the abstract:
This SRFI proposes a programming interface for working with graphs, based on Martin Erwig's functional graph library design. The FGL design takes a rather different view of graphs from most graph presentations, in that the data structures are persistent, which is a good fit for Scheme. The interface is generic to any node and edge label data-type, as long as a SRFI 128 comparator can be specified.
Regards,
SRFI Editor
r/scheme • u/arthurgleckler • 11h ago
Final SRFI 275: URIs, IRIs, and basic paths
Scheme Request for Implementation 275,
"URIs, IRIs, and basic paths",
by Duncan Guthrie,
has gone into final status.
The document and an archive of the discussion are available at https://srfi.schemers.org/srfi-275/.
Here's the abstract:
This SRFI proposes a programming interface for working with RFC 3986 universal resource identifiers (URIs), as well as RFC 3987's generalization to internationalized resource identifiers (IRIs). This document defines record types, normalization procedures, and conversion between URIs and IRIs. The proposal also specifies a basic programming interface for working with paths in isolation, as this is a pervasive usage of URIs and IRIs. Finally, we contribute a test suite to specify the behaviour of normalization with respect to relative references, which has in the past been a source of divergence between implementations.
Here is the commit summary since the most recent draft:
- Final draft
- Check in sample implemenation prior to finalisation.
- (iri internal) -> (srfi :275 internal)
- Eliminate the (iri internal xxx) namespace
- lib/test -> tests
- Chez-specific test import
- Make the Chez-specific import specific
- copy edits
- Add missing SPDX license metadata.
- Finalize.
- Link to sample implementation in official repo.
Note that these changes were adding the sample implementation to the repo, copy edits, and administrative work.
Here are the diffs since the most recent draft:
https://github.com/scheme-requests-for-implementation/srfi-275/compare/draft-8..final
Many thanks to Duncan and to everyone who contributed to the discussion of this SRFI.
Regards,
SRFI Editor