Scheme、Racket、Common Lisp、Clojure中方括号行为归类是否正确?
你梳理的几门Lisp方言的方括号行为归类完全准确,整理对应规则如下:
- R5RS和R7RS Scheme:规范中预留方括号「用于未来可能的语言扩展」,但多数实现均参照R6RS Scheme规则处理方括号,Racket就是这类实现的代表,其社区甚至形成了优先使用方括号的场景约定。
- R6RS Scheme:规范明确配对的方括号可与圆括号同义使用,即只要配对正确,方括号就是合法括号。
- Common Lisp:方括号为预留符号,用户可通过读取器宏为其赋予含义,标准语言本身未定义方括号作用,仅在
FORMAT控制字符串中有特殊含义。 - Clojure:方括号用于定义向量,圆括号用于定义列表,二者作用完全不同。
内容的提问来源于stack exchange,提问作者J. Mini
相关产品推荐
相关产品推荐

