On Wed, Aug 12, 2020 at 11:08 PM Adam Nelson <xxxxxx@nels.onl> wrote:
If you `(define-syntax <>)`, it's still possible to write
`(let ((<> 1)) <>)` without errors.
No, that won't happen. When a macro expands into a call on syntax-error, an error is signaled *at macro expansion time*. That's what I've been saying all along. So (<> 1) is very much an error because that's what it's defined to be.
There are not now and never should be "reserved words" in Scheme.
They aren't reserved, at least not with my idea. It's just that all modules using aux syntax keywords import their *global* definitions from the same library, namely (scheme aux), That means there are no import conflicts no matter how many different ways the keyboards are used. Of course libraries that don't import from (scheme aux) aren't affected.
John Cowan
http://vrici.lojban.org/~cowan xxxxxx@ccil.orgIf you have ever wondered if you are in hell, it has been said, then
you are on a well-traveled road of spiritual inquiry. If you are
absolutely sure you are in hell, however, then you must be on the Cross
Bronx Expressway. --Alan Feuer, New York Times, 2002-09-20