请分享您的想法,参加2024 Clojure状态调查!

欢迎!请查看关于页面以了解更多关于此功能的信息。

+6

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

在我看来,目前datafy和nav的文档状态不足以鼓励大规模的独立学习。

尽管社区中有人做出了努力(例如,@SeanCorfield有一篇出色的博客文章,并且是积极的提倡者),但还没有公认这类文档的来源。

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

我们知道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

我还在此库中扩展了Java Time类型

https://github.com/jimpil/jedi-time
太好了,这是个好消息。是否有时间线(例如1.11)或可点赞的票据以及这个问题?
您可以在https://github.com/clojure/clojure-site/issues提交Clojure网站请求。
...