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

Re: lexical list



I think Mark missed the point of my note about the '<datum> syntax.  He
may have been helped in that by the incorrectness of my example, pointed
out by Kent Pitman.  Let me try again with a fixed example.

I believe that the following expression should evaluate to the list (+ 2
3):

	(let ((quote -))
	   '(+ 2 3))

but that, of course, the following expression should evaluate to the
integer -5:

	(let ((quote -))
	   (quote (+ 2 3)))

These expressions are not legal under either the IEEE standard or R4RS
because they involve the binding of a reserved word, QUOTE.  The
question is only what they should mean once the prohibition against
reusing those words is removed, once we have macros.

R4RS and the standard state now that the expression '<datum> is
equivalent to the expression (quote <datum>).  This is unambiguous now
but becomes ambiguous when the reserved words become unreserved.  I am
proposing that we plan on resolving that ambiguity by stating that the
meaning of the expression '<datum> is the same as the interpretation of
the expression (quote <datum>) in the initial Scheme syntactic
environment.

	Pavel