On Fri, Oct 17, 2014 at 01:29:53PM -0400, John Cowan wrote: > Per Bothner scripsit: > > > Is the following reasonable (for r7rs)? > > > > (define-syntax else > > (syntax-rules () > > ((_ . rest) > > (syntax-error "invalid use of 'else")))) > > That's a good definition, yes. It's also fine for R5RS, since R5RS leaves > the question of binding open.
Are you sure? It doesn't mention that else is anything else than a special thing inside cond or case. It also mentions that macro definitions shadow variable bindings. If I understand correctly, that means that this program should not fail, but simply print "1": (define (else) 1) (display (else)) (newline) Even if there's a peculiar way in which you can read R5RS that allows "else" to be bound as syntax, I doubt you'll be able to find an implementation in which the program above will fail. It would be a shame if r7rs broke compatibility with these programs. Cheers, Peter -- http://www.more-magic.net _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
