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

欢迎!请查阅关于页面以获取更多关于这个站点如何运作的信息。

+6

如果Clojure要变得更加数据导向,这些都是实现这一目标的有力工具。社区需要支持以鼓励采用。

在我看来,对于datafynav的文档现状不足以鼓励大规模的个人学习。

尽管有些人做出了勇气可嘉的努力(例如@SeanCorfield,他有一篇优秀的博文,并且是一个积极的支持者),但在社区中并没有这样的文档的官方来源。

在互联网上寻找示例很难 ... 这里有一样好的,是@Frederick在Slack上的一次推荐。

我们知道Slack存在问题,因为我们不能轻易地搜索历史记录,因此在这里保留它可能会在短时间内帮助人们找到它。

最好有一个解释它解决的问题、通用方法和设计具体细节的理由。

同样,关于如何使用的指南,包含一个工作示例、一些提示和技巧,如何接近实现。

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

1 答案

+3

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

https://youtu.be/c52QhiXsmyI

by
与 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
by
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

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

https://github.com/jimpil/jedi-time
by
太好了,这是个好消息。有没有时间表(例如 1.11)或者可以投票的票据来增加这个问题?
by
你可以在 https://github.com/clojure/clojure-site/issues 上提交 Clojure 网站的请求
...