Here are the ways in which the test suite of Schemes interprets square brackets and curly braces. Both are undefined in R5RS. In R6RS, square brackets are synonyms for parentheses, but curly braces are still undefined.
Brackets are:
synonyms for parentheses: Racket, Gauche, Gambit, Chicken, SXM, Spark, Bigloo, Vicare, Larceny, Ypsilon, Mosh, IronScheme, STklos, KSi, Oaklisp, Sizzle, Guile, SISC, Chez, Elk, Sagittarius
lexical syntax errors: MIT, Scheme48/scsh, NexJ, SigScheme, Schemik, Owl Lisp, RScheme, Scheme 9
vector constructors: Rep, FemtoLisp
redefinable constructors: Kawa
identifier characters: SCM, Shoe, TinyScheme, Dream, S7, XLisp, UMB, VX, Llava, Dfsch, Inlab, Chibi, BDC
Braces are:
synonyms for parentheses: Racket, Gauche, Gambit, Chicken, SXM, Spark
lexical syntax errors: MIT, Scheme48/scsh, NexJ, SigScheme, Schemik, Owl Lisp, Bigloo, Vicare, Larceny, Ypsilon, Mosh, IronScheme, STklos, KSi, Oaklisp, Sizzle, Scheme 9
user-defined type literals: Chibi
containers for embedded C code: RScheme
identifier characters: SCM, Shoe, TinyScheme, Dream, S7, XLisp, UMB, VX, Llava, Dfsch, Inlab, Kawa, Rep, FemtoLisp, Guile, SISC, Chez, Elk, BDC, Sagittarius
Note: In some Schemes where these are identifier characters, they are self-delimiting: that is: {abc}
is equivalent to { abc }
.