On Sat, Oct 18, 2014 at 4:19 AM, Peter Bex <[email protected]> wrote:
> > If I understand correctly, that means that this program should > not fail, but simply print "1": > > (define (else) 1) > (display (else)) > (newline) > This works fine in R7RS provided that `else' is not imported (or you're in a repl). That doesn't constitute an argument for not exporting `else', because you have the same issue with redefining `car' or `+'. Because of the strict R7RS imports, R5RS programs that override existing bindings must (import (except (scheme r5rs) ...)). Given that, and my inability to come up with an example of what would have been a portable R5RS program that breaks through the introduction of auxiliary syntax, I think we should just export `else', `=>' and `syntax-rules' from (scheme r5rs) even though they weren't bound in R5RS. This is simplest and consistent with R7RS. As the issue is debatable I'll double check with the WG members before adding this as an errata. -- Alex
_______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
