2024年Clojure调查问卷中分享您的想法!

欢迎!请参阅关于页面以获取更多有关如何操作的信息。

+6

如果Clojure要成为更注重数据方向的编程语言,这些工具将非常强大,以实现这一目标。社区需要支持以鼓励采用。

就我个人看法而言,当前datafy和nav文档的状态并不足以鼓励广泛的学习。

尽管社区付出了英勇的努力(例如,@SeanCorfield写了一篇非常好的博客文章,并积极提倡),但在社区中并没有这类文档的权威来源。

在互联网上很难找到示例...这里有很好的一个,它来自Frederick在Slack上的推荐。

我们知道Slack存在问题,因为我们无法轻松地搜索历史,所以在这里保留可能有助于人们在短时间内找到它。

有一个说明要解释它解决的问题、一般方法和设计中的具体细节会很好。

同样,一份关于如何使用它以及带有示例、提示和技巧的指南也会很棒。

我知道它被标记为alpha(预览版),但这并没有阻止其他语言方面的文档。

1 答案

+3

是的。Stu的REBL演讲对背景有很好的概述。

https://youtu.be/c52QhiXsmyI

与REBL类似,shadow-cljs的Inspect UI也使用了datafy/nav。不知道datafy/nav是否有其他官方目标,但它非常适合这类数据探索工具。很多东西并不是数据,难以检查。datafy解决了这个问题。

作为一个用例示例,我在我shadow-grove WIP框架中有些自定义类。当你遇到REPL或Inspect中的实例时,你只会得到一个默认的`#object [shadow.experiments.grove.component.ManagedComponent ...]`打印表示,这不太有用,也没有告诉你有关对象太多信息。但是,通过快速扩展类型[1],你可以使这些对象看起来更直观,就像常规clojure数据。

[1] https://github.com/thheller/shadow-experiments/blob/master/src/main/shadow/experiments/grove/dev_support.cljs
Reveal和Portal都像Cognitect的REBL一样利用了datafy/nav。

https://vlaaad.github.io/reveal/

https://github.com/djblue/portal

Stu还有一个GitHub项目,为datafy/nav添加了扩展的命名空间反射。

https://github.com/stuarthalloway/reflector

我也用这个库来扩展datafy/nav的Java时间类型。

https://github.com/jimpil/jedi-time
太好了,这是个好消息。是否有时间表(例如,1.11)或可以和这个问题一起好评的工单?
您可以在 https://github.com/clojure/clojure-site/issues 上提交 Clojure 网站请求。
...