Peter Bex scripsit: > If I understand correctly, that means that this program should > not fail, but simply print "1": > > (define (else) 1) > (display (else)) > (newline)
That's true of all the 44 Schemes in my test suite, except a few that don't allow you to redefine names imported from a module even at the REPL. But there really shouldn't be any difference between defining an undefined identifier as a variable and redefining an existing ordinary (non-auxiliary) syntax keyword as a variable, either. Unfortunately, this is only true of some Schemes. In particular, redefining a regular (non-auxiliary) syntax keyword as a procedure doesn't work in Chicken, Bigloo, STklos, Shoe, TinyScheme, Scheme 9, S7, XLisp, Rep, Picrin, and signals a define-time error in Gambit, SXM, Scheme48, Ypsilon, KSi. In my other Schemes, it succeeds, possibly with a warning. -- John Cowan http://www.ccil.org/~cowan co...@ccil.org The Imperials are decadent, 300 pound free-range chickens (except they have teeth, arms instead of wings, and dinosaurlike tails). --Elyse Grasso _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports