Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Free implementation of srfi/5 #7

Merged
merged 1 commit into from Apr 9, 2019
Merged

Conversation

LiberalArtist
Copy link
Contributor

Replace non-free syntax-rules implementation of SRFI 5
with a free implementation using syntax-parse, which
should also give better error messages.

Add some tests that both the old and new implementations pass.

Deprecate the srfi-lib-nonfree package, but retain it
as a stub for backwards compatibility.

Replace non-free `syntax-rules` implementation of SRFI 5
with a free implementation using `syntax-parse`, which
should also give better error messages.

Add some tests that both the old and new implementations pass.

Deprecate the `srfi-lib-nonfree` package, but retain it
as a stub for backwards compatibility.
@LiberalArtist
Copy link
Contributor Author

I'd appreciate someone checking that I've done the right things with the package dependencies and implies statements, in particular.

@LiberalArtist
Copy link
Contributor Author

In this PR, I only change the docs by using the same message for SRFI 5 as for SRFI 29.

I think it would be nice to do more, but I'm not completely settled on what the right thing is or how to implement it in Scribble. Currently, the free srfi-doc documentation doesn't even mention the existence of the srfi-doc-nonfree docs, which seems confusing, especially since srfi-doc reads like it's a comprehensive list of SRFIs in Racket and, before #5, it was.

For people who don't have srfi-doc-nonfree, I think the best experience would be for links (especially from right-click > "View documentation for …") to point to a section of the free SRFI Scribble document. We could explain the license for the original spec in prose and resolve the link either to the copy from srfi-doc-nonfree, if it's installed, or otherwise to https://docs.racket-lang.org. I think Scribble has the infrastructure to do this, though I haven't yet tried using the 'indirect-link style property with something other than seclink.

This would be a change, though: currently, "View documentation for …" links try to jump into the original spec. I haven't looked into how they do this, and, at least for SRFI 5, it doesn't seem to work very well right now (i.e. the link goes to a badly-chosen place in the spec). I don't know if this change would bother anyone. It might be more relevant for SRFI 29, which defines multiple bindings.

I think it would also be reasonable to keep things very simple and just link to the versions on https://srfi.schemers.org for these two SRFIs, but that would be an even bigger change.

@LiberalArtist
Copy link
Contributor Author

Related to #4

@samth
Copy link
Sponsor Member

samth commented Mar 19, 2019

This looks good to me.

@samth samth merged commit 8df814d into racket:master Apr 9, 2019
LiberalArtist added a commit to LiberalArtist/srfi that referenced this pull request Oct 22, 2021
Add comments explaining the restrictive license on the SRFI 5
and (maybe) SRFI 29 documents (see
<https://srfi-email.schemers.org/srfi-29/msg/17982886/> for details on
the latter). Since this license doesn't have an SPDX identifier,
we don't define `license` in "srfi-doc-nonfree/info.rkt" for now.

To clarify that the Racket and Scribble files in "srfi-doc-nonfree"
are freely licensed, mark each one with machine-readable SPDX comment
headers, in addition to the more detailed explanations.

Fix a typo in "LICENSE" and rename it to "LICENSE.txt" for consistency.

Related to racket#4
Related to racket#5
Related to racket#7
Related to racket#12
samth pushed a commit that referenced this pull request Oct 22, 2021
Add comments explaining the restrictive license on the SRFI 5
and (maybe) SRFI 29 documents (see
<https://srfi-email.schemers.org/srfi-29/msg/17982886/> for details on
the latter). Since this license doesn't have an SPDX identifier,
we don't define `license` in "srfi-doc-nonfree/info.rkt" for now.

To clarify that the Racket and Scribble files in "srfi-doc-nonfree"
are freely licensed, mark each one with machine-readable SPDX comment
headers, in addition to the more detailed explanations.

Fix a typo in "LICENSE" and rename it to "LICENSE.txt" for consistency.

Related to #4
Related to #5
Related to #7
Related to #12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants