这之前已经有过实践。为什么这不是一个目标的原因在于其背后设计理念。普遍观点似乎认为,阅读器宏比它们值得的麻烦要多,而标记字面量提供了一种受控的方法来与他人一起修改阅读器,而不是全面替换或引入一个大型、不明显的外部区域来修改语言语义。
鉴于我们拥有 tools.analyzer、tools.reader 和 instaparse,使用库在语言基础上实现新的阅读器语法可能得到了改善。
就我个人而言,我对 CL 的读取表滥用(例如引导 clojure)投入了相当大的精力,并且我对阅读宏的兴趣不如我第一次了解它们时那么高。在 Clojure 中这似乎不是一个问题,也许在 CL 中除了你实际上进行语言研究和想要窃取阅读器以简化启动外,它还具有独特的属性。从绝对意义上讲,这是一个表明 CL 等语言“力量”的飞跃,允许玩弄阅读器,但实际上,我认为这真的很令人失望。