Re: when GC is permitted Bradd W. Szonye 15 Jan 2004 19:19 UTC

Richard Kelsey wrote:
> Now consider the point of view of an implementor with a module system.
> How do they load a program that uses SRFI-0?  If the set of features
> needed were known in advance they would be home free, but how to find
> out what those features are?  There is no straightforward of doing so
> and the implementor concludes that SRFI-0 is not portable and doesn't
> implement it.  That SRFI-0 is not intended to solve the problem of
> specifying which features are needed doesn't matter; that problem
> still needs to be solved before they implement SRFI-0.

A while back, I attempted to implement SRFI-0 and SRFI-7 for PLT Scheme.
(The current version has only a partial implementation of the latter,
and no implementation of the former at all.) I ran into some practical
problems, unfortunately, and gave up. One problem with implementing
SRFI-0 on PLT Scheme is that the module system separates the "syntax"
and "runtime" phases of translation, and the two phases don't generally
have the same features available.

For example, (REQUIRE FOO) provides the features of FOO to the
interpreter but not to the syntax transformer. (REQUIRE-FOR-SYNTAX FOO)
does just the opposite. It's not clear where SRFI-0 fits into these
phases of translation, or how one should decide whether a given feature
is available.
Bradd W. Szonye