[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: when GC is permitted

This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.

Richard Kelsey <kelsey@xxxxxxx> writes:

>    From: tb@xxxxxxxxxx (Thomas Bushnell, BSG)
>    Date: 11 Jan 2004 15:37:24 -0800
>    This is would be the first SRFI to say "if your Scheme is too fancy,
>    you can't implement this."
> Nope, that honor belongs to SRFI-0.  SRFI-0 assumes that a
> Scheme implementation implements a fixed set of SRFIs that
> are all always available.  There is no sensible way to
> implement it in a system with optional modules, as are found
> in PLT and Scheme 48.  

This is incorrect in several ways.

First, srfi-0 indicates that module system srfi's can be expected to
generalize srfi-0, and it was written to permit such generalization.
We can all think of such generalizations without much trouble, for
each of the various candidate module systems.  Moreover, there was no
way for srfi-0 to solve this problem without knowing what the module
system might be; by contrast, methods of solving the problems posed by
srfi-50 have been bandied about here.

Moreover, an implementation can deny the implementation of a srfi in
implementing cond-expand when it can't determine when it will be
available.  Thus it is possible to conform to srfi-0 for any such
system.  By contrast, a fancy scheme *cannot* conform to srfi-50.

And finally, the extensions that cause problems for srfi-0 are
extensions of the Scheme language itself.  By contrast, srfi-50 can
cause problems for fancy implementations of just plain basic Scheme.

And last, but not least, even if you were right, "tu quoque" is
probably the worst of all possible reasons for doing a bad thing.