Am Mo., 22. Juli 2024 um 19:43 Uhr schrieb Lassi Kortela <la...@lassi.io>:
> > To correctly attach marks (in the R6RS syntax model) to the imported > > identifiers, the expander needs marks associated with the library name > > (and takes the marks of the last name part, which, therefore, must be an > > identifier). > Where does the decision to take the last library name part come from? > > Only Chez Scheme? Any other implementations? Does R6RS address this? > As I wrote, this is a syntactic extension of Chez Scheme - but a very useful one - and outside of the R6RS. The Unsyntax expander I wrote also implements it. > Why not take the first library name part instead of the last? In > practice, a numeric last part is useful and is already widely used. It's > far less likely for a numeric first part to be useful. > The last name part is the most specific one. In any case, the decision was made before R7RS existed, and, as I mentioned, the R7RS authors were likely unaware of the incompatibility of their proposal to allow numeric name parts with existing implementations and language extensions. I don't buy that numeric library parts are particularly useful; they are just one option. The SRFI 97 convention works as well as the SRFI-0 convention of "srfi-N" names, which is basically also used by Guile.