Marc, should we apply this change to the reference implementation of SRFI 148, which currently contains a copy of the SRFI 147 reference implementation?

Not yet, please. I have already made the corresponding changes to the implementation of SRFI 148, which are currently available in my fork of the SRFI 148 repository. I would like to give those on the mailing list of SRFI 148 two days to experiment with the new code before I will send you a pull request (which will contain the revised SRFI 147 implementation).


Here is the diff:

Here are Marc's notes on the changes:

The sample implementation is now compatible with Schemes where literal identifiers in syntax-rules are lexically scoped (that is, an identifier pattern is a literal identifier if and only if it is bound-identifier=? to a literal appearing in the list of literals).

Commit Summary

  • Special-case Larceny's let(rec)-syntax
  • WIP
  • Fix hygiene problem for implementations that detect literals in patterns with bound-identifier=?

File Changes

M srfi/147.scm (38)
M srfi/147.sld (25)


SRFI Editor