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

Re: [Scheme-reports] ANN: first draft of R7RS small language available

On Mon, 18 Apr 2011, Alex Shinn wrote:

> For example, if import is a macro which
> basically expands into:
>  (define <imported-variable>
>    (%module-ref <module> '<imported-variable))
> then it's clearly a new binding, and won't match. Currently,
> the standard does not explicitly forbid this approach, which
> means you can't rely on being able to rename literal identifiers
> like "else" and "=>".

Just another note.

As someone who has implemented the R6RS macro and module system
(in a form of explicit renaming system no less), it is clear to me from
this and other remarks that you and perhaps others on the WG don't
quite appreciate the technical ins and outs of implementing macros
and modules in a mutually consistent way.

I would therefore STRONGLY advise that, before you continue work
on the module and macro system, you do a reference implementation
first and foremost.

That is what Kent, Matthew, Abdoulaziz and I did during R6RS.
I cannot tell you how many of our very reasonable-seeming
initial ideas we had to drop or modify along the way because of technical
and logical consistency issues that would never have occurred
to us if we hadn't done the implementations.


Scheme-reports mailing list