This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home. For a version of this page that may be more recent, see RedefiningKeywords in WG2's repo for R7RS-large.

Redefining­Keywords

cowan
2014-12-28 10:31:29
2history
source

What happens when a syntax keyword is redefined as a variable, with (define (cond) 32) (cond)?

Returns 32: Racket, Gauche, MIT, Guile, Kawa, SISC, SCM (with warning), Chez, Vicare, Larceny (with warning), Mosh, IronScheme, NexJ, JScheme, SigScheme, RScheme (with warning), BDC, Schemik, UMB, Elk, Llava, Sizzle, FemtoLisp, Dfsch, Inlab, Foment, Owl Lisp, Chibi, Sagittarius

"Attempt to redefine macro" error at define time: Gambit, SXM

"Attempt to redefine immutable identifier" error at define time: Scheme48/scsh, Ypsilon, KSi

Macro continues to shadow procedure: Chicken, Bigloo, STklos, Shoe, TinyScheme, Scheme 9, S7, XLisp, Rep, Picrin