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

Re: R5RS interpreters need not apply?

In a recent message to rrrs-authors, Jaffer quoted a paragraph
in which I wrote that he had convinced me that the R4RS macro
system creates "an extra load-time cost for some purely
interpreted systems."  For the record, I do not think this extra
cost is very significant.  I would also like to point out that
it does not apply to systems that already perform macro expansion
in a separate pass before interpretation.

Jaffer continued:

    Are the considerations of scheme interpreters no longer relevant to
    the authors?  R4RS was implementable in a small, fast program; The
    macro requirement of R5RS is not.

Au contraire.  The macro requirement of R5RS can be implemented as
a fast program consisting of a few hundred lines.  Its size and
conceptual complexity are considerably less than the size and
conceptual complexity of a correct and complete implementation
of NUMBER->STRING or STRING->NUMBER.  To maintain that an
implementation of the high-level macro system is larger than a
complete implementation of R4RS is ludicrous.

I consider Scheme interpreters relevant.