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

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

+1
贡献库

你好,我对 Clojure 相关技术非常新手,我可能问了错误的问题。

我正在研究使用 EDN 来创建类似于 IPFS 的原型,它可以集成到经典系统语言(即老双胞胎 C/C++)中。我想要创建一个 C++ 接口,它可以从编译时获取模板数据结构,并根据文件名创建和填充匹配该模板的数据结构。在 C 中,这将是一个很糟糕的东西,由带枚举的 struct 组成,用于指示当前原始数据类型(无论是列表、集合还是字节),一个 void 指针,以及所有这些 C 的技巧。然后从这些中,同样进行序列化。

之所以选择 EDN,是因为它似乎是一个基于其基础的技术上更优越的规范。不需要顶级容器数据结构,可扩展的类型看起来是一个非常良好的基础。看起来 EDN 缺少与像 JSON 这样的格式相同的支持级别。这使得这项工作变得艰难,但我想我可以为这里做出一些贡献。我正在寻找一种可以在某个时候作为 Linux 内核模块的一部分重用的解决方案,以将此功能嵌入文件系统,但这还遥远。

我该如何开始这样一个项目?我遗漏了哪些细节?

1 答案

+1

选中
 
最佳答案

这里有一些现有的实现,仅供参考

https://github.com/edn-format/edn/wiki/Implementations

看起来没有C实现。它与也编译到C++目标的ANTLR4语法相比如何?看起来过去8年里没有对C++库进行过工作,这是一个红灯。
看起来没有写入器或序列化器。C++实现和ANTLR4语法似乎不足。我应该增加这个吗?
好吧,edn在过去8年里(几乎)没有改变,所以这不一定有问题。如果这里有一个差距,很高兴有某人填补它!
...