[Scheme-reports] practical matters - CSAN Alex Shinn (23 Aug 2011 02:31 UTC)
Re: practical matters - CSAN Arthur A. Gleckler (23 Aug 2011 02:59 UTC)
Re: [Scheme-reports] practical matters - CSAN John Cowan (23 Aug 2011 04:57 UTC)
Re: [Scheme-reports] practical matters - CSAN Aubrey Jaffer (23 Aug 2011 21:55 UTC)
Re: [Scheme-reports] practical matters - CSAN Alex Shinn (24 Aug 2011 00:09 UTC)
Re: [Scheme-reports] practical matters - CSAN John Cowan (24 Aug 2011 01:17 UTC)
Re: [Scheme-reports] practical matters - CSAN Alex Shinn (24 Aug 2011 01:58 UTC)
Re: [Scheme-reports] practical matters - CSAN Aubrey Jaffer (27 Aug 2011 02:58 UTC)
Re: [Scheme-reports] practical matters - CSAN John Cowan (28 Aug 2011 04:41 UTC)
Re: [Scheme-reports] practical matters - CSAN Aubrey Jaffer (29 Aug 2011 16:19 UTC)
Re: [Scheme-reports] practical matters - CSAN Aaron W. Hsu (29 Aug 2011 16:31 UTC)
Re: [Scheme-reports] practical matters - CSAN Aubrey Jaffer (07 Sep 2011 00:19 UTC)

Re: [Scheme-reports] practical matters - CSAN Aubrey Jaffer 27 Aug 2011 02:55 UTC

 | Date: Tue, 23 Aug 2011 21:16:35 -0400
 | From: John Cowan <cowan@mercury.ccil.org>
 |
 | 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
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports