[Copied to SRFI-96 mailing list to retain a record.]

On Sun, Jan 14, 2018 at 9:44 PM, Aubrey Jaffer <xxxxxx@alum.mit.edu> wrote:

While I am willing to help integrate an R7RS port of SLIB into the SLIB distribution, I have not followed R7RS development and have not used any R7RS implementations.  So someone else will need to develop the R7RS port of SLIB.

Sure, understood.  Looking at your 2011 statistics, here's what I see now in version 3b5:

SLIB includes 108 macro-free modules and 27 which define or use macros.

SLIB now includes 10 files which use defmacro to define macros:  break, debug, fluidlet (not to be confused with fluid-let, which is syntax-rules based), mbe, mwdenote, scanf, srfi, srfi-2, top-refs, trace.

Of these, break, debug, repl, and trace are a closed set (a portable Scheme debugger).  Manifest, top-refs, and vet are also a closed set, part of SLIB's installation system.  None of the other modules except scanf are require'd at all.
 
9 of the 27 use scanf, which should be refactored to be macro-free.

9 still use scanf directly, and 7 more use it indirectly.  However, it would be trivial to rewrite a few lines of scanf to use syntax-rules instead.
 
2 of the 27 use fluid-let.  SLIB developers have been rewriting modules to avoid fluid-let; only two remain.

None remain, only the utility program schmooz.  In any case, schmooz uses fluid-let, not fluidlet.
 
The SLIB promise module is superfluous in WG1-Scheme.

Agreed.
 
4 of the 27 define macro-systems (macro-by-example, syntax-case, syntactic-closures, macros-that-work).  These would be eliminated in favor of WG1-Scheme macros.

Defmacex is also technically a macro system and as such not needed.
 
Seven implement SRFIs:

All seven have syntax-rules definitions given by the SRFIs.
 
That leaves only 4 syntax-defining packages: within-database, yasos,
trace, and break; and one package (collect) which uses yasos.

Within-database and yasos now use syntax-rules.

In summary, if scanf and the installation system can be converted to use syntax-rules, then almost all of SLIB except the debugger should be R7RS-usable. 

-- 
John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
We pledge allegiance to the penguin and to the intellectual property
regime for which he stands, one world under Linux, with free music
and open source software for all.  --Julian Dibbell on Brazil, edited