请在 2024 Clojure 状态调查! 中分享您的想法。

欢迎!请查看 关于 页面以获取更多有关此操作的信息。

+6

如果 Clojure 要成为(甚至)更具数据导向,这些是实现这一目标的强大工具。社区需要支持以鼓励采用。

在我看来,目前对 datafynav 的文档状态不足以鼓励广泛的独立学习。

尽管有一些英勇的尝试(例如 @SeanCorfield 有一个 非常好的博客文章,并且是积极的倡导者),但社区中没有任何此类文档的权威来源。

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

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

最好有一个解释问题所在、一般方法和设计具体细节的原理。

同样,一个指南,说明如何使用它,以及示例、一些技巧和如何实施的方法。

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

1 答案

+3

是的。 Stu 的 REBL 演讲对上下文有一个很好的概述。

https://youtu.be/c52QhiXsmyI

类似于 REBL,shadow-cljs 检查器 UI 也使用了 datafy/nav。不知道 datafy/nav 是否还有其他官方目标,但它在这样的数据探索工具中非常适用。许多事物都不是数据且难以检查。datafy 就是为此而生的。

作为一个用例,我在 shadow-grove WIP 框架中有些自定义类。当在 REPL 或检查器中遇到实例时,你只会得到默认的 `#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,在 style 中使用 datafy/nav。

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

https://github.com/djblue/portal

Stu 有一个 GitHub 项目添加了 datafy/nav 的扩展命名空间反映

https://github.com/stuarthalloway/reflector

我还在 Java 时间类型的 datafy.nav 扩展中使用这个库

https://github.com/jimpil/jedi-time
太好了,这是个好消息。是否有可参与投票的时间线(例如 1.11)或票据呢?
作者:
您可以在以下链接提交 Clojure 网站请求: https://github.com/clojure/clojure-site/issues
...