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

macros again



A while ago I sent a question about the status of the macro
proposals and received a useful reply from Will Clinger.

But it wasn't really all I wanted.

So, I'm going to try again and try to say more clearly what
I'm after.

In the 1988 L&FP conference, there was a paper on "Syntactic
Closures".  When I read it, it thought "that's right; that's
what we want to do -- to be able to fix the interpretation
of names more or less as we can for functions".

But then at the rrrs-authors meeting at the same time, I discovered
that the Scheme community was fundamentally divided on the question of
how macros should work.  One side was happy with syntactic closures,
the other wanted extend-syntax.  (This is an oversimplification, of
course.)

It was decided to take two people from each side, and lock the four
of them in a room, without any lunch, until they came to agreement.
The expectation was, I think, that the result would look like
extend-syntax on top and syntactic closures underneath.

Well, months went by, then some more months.  They still weren't
allowed any lunch, but must (fortunately) have had access to breakfast
and dinner.

Finally, we heard some news.  Syntactic closures had been abandoned,
and we were to get something else instead.  It seemed that in some
case (not described), it was impossible to figure out the status
of some names at the right time (or something like that).

I was a bit puzzled by this.  For one thing, exactly what was the
problem?  For another, extend-syntax and syntactic closures had
gone in on a fairly equal footing.  If they were incompatible,
why was it that one got dropped and not the other?

It seemed to cry out for explanation.

So, what's the story?

-- Jeff