| Date: Tue, 23 Aug 2011 21:16:35 -0400 | From: John Cowan <[email protected]> | | Alex Shinn scripsit: | | > Certainly we want to include SLIB libraries. I think the | > most sensible migration path for SLIB would be a separate | > tool that generates multiple packages and a repository | > directly from the SLIB distribution. | | The problem is that SRFI 96, which is the foundation for SLIB, | can't be implemented in its entirety in R7RS-small. In particular, | SRFI 96 includes define-macro.
SLIB includes 108 macro-free modules and 27 which define or use macros. 9 of the 27 use scanf, which should be refactored to be macro-free. 2 of the 27 use fluid-let. SLIB developers have been rewriting modules to avoid fluid-let; only two remain. The SLIB promise module is superfluous in WG1-Scheme. 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. Seven implement SRFIs: SRFI 0: Feature-based conditional expansion construct SRFI 9: Defining Record Types SRFI 39: Parameter objects These 3 are included in WG1-Scheme. SRFI 8: receive: Binding to multiple values SRFI 11: Syntax for receiving multiple values Multiple values are addressed in WG1-Scheme. SRFI 2: AND-LET*: an AND with local bindings, a guarded LET* special form SRFI 61: A more general cond clause No other SLIB modules uses these 2; they could be dropped without harm. That leaves only 4 syntax-defining packages: within-database, yasos, trace, and break; and one package (collect) which uses yasos. So 95% of SLIB would survive the transition to being macro-free. SRFI-96 could be amended or superseded. _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
