2024年Clojure状态调查!分享您的想法。

欢迎!请查看关于页面以了解更多关于如何使用本站的信息。

+1
语法和读者
已关闭

Cljure团队是否感兴趣有人增强读者,使readtable对用户可用?这将允许用户创建readtable、指定read宏和分配read宏,并将readtable作为当前的一个安装。

关闭时的备注: 不打算添加此功能

3 答案

+1

已选择
 
最佳答案

读者不对扩展关闭(但通过带标签的字面量对可扩展数据开放)。这是一种有意从Common Lisp等语言中分离出来的做法 - 请参阅Clojure历史文件(搜索“Reader Macros”) - https://clojure.org/about/history

因此,对这个更改不感兴趣。

+1

这之前已经有过实践。为什么这不是一个目标的原因在于其背后设计理念。普遍观点似乎认为,阅读器宏比它们值得的麻烦要多,而标记字面量提供了一种受控的方法来与他人一起修改阅读器,而不是全面替换或引入一个大型、不明显的外部区域来修改语言语义。

鉴于我们拥有 tools.analyzer、tools.reader 和 instaparse,使用库在语言基础上实现新的阅读器语法可能得到了改善。

就我个人而言,我对 CL 的读取表滥用(例如引导 clojure)投入了相当大的精力,并且我对阅读宏的兴趣不如我第一次了解它们时那么高。在 Clojure 中这似乎不是一个问题,也许在 CL 中除了你实际上进行语言研究和想要窃取阅读器以简化启动外,它还具有独特的属性。从绝对意义上讲,这是一个表明 CL 等语言“力量”的飞跃,允许玩弄阅读器,但实际上,我认为这真的很令人失望。

+1

感谢大家的回答。

...