[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [scheme-reports-wg1] [Scheme-reports] Fixing libraries (was Re: Questions about cond-expand)
Alex Shinn <alexshinn@x> wrote:
> What you are arguing below amounts to "let's just
> use the Chez module system." We had a huge
> amount of discussion about this already and a fair
> vote, and the result is the only sensible possibility -
> a lowest common denominator module system.
> Chez modules cannot be implemented by every
> other system, nor can Scheme48 modules, but
> the R7RS define-library form can.
This is *not* what I am suggesting. I am not suggesting that we
change or alter any of our previous votes. I am not suggesting that
we alter or change the semantics that we voted on for the library
system. I am not suggesting that we use Chez Scheme's module system.
What I am suggesting is a rewriting of the language that we use to
define these semantics. This change of language results in a system
that is not different in terms of implementability on various
Schemes. It does address the confusions that have already arisen
multiple times about the various forms that we want in the language,
by unifying each form to a single form and a single definition. It
does eliminate the ambiguity introduced accidently by the specific
tickets in question by providing a clear, simple behavior for the
specific case of the top-level, while not precluding the direct
implementation of the normal forms that might appear in any
Scheme source. In other words, it fixes the problems introduced by
new terminology and inconsistent wording from the way that we
currently define the semantics of the library system. It does this
by leveraging existing Scheme concepts in the standard, rather than
introducing new ones.
The fixes that I am suggesting do *not* change the semantics or features
of our library system. The system is still implementable with a variety
of techniques, including static translation to an other, existing
system. All I am suggesting is that we fix the wording in a clean
way, and I gave a specific way that addresses all of the issues
that have come up, it does this without nullifying or overturning
any of our previous votes. It does not make our system less useful,
and it does not present any barriers as far as I read it to implementation
uptake, because it does not prescribe any implementation strategy.
Indeed, I have explicitly chosen the changes that I suggested because
they preserve the least common denominator semantics that I think are
important for WG1.
--
Aaron W. Hsu | arcfide@x | http://www.sacrideo.us
Programming is just another word for the lost art of thinking.