请分享您的看法,参与2024年Clojure状态调查!2024 State of Clojure Survey!

欢迎!请查看关于页面了解这个工作的更多信息。

+1
贡献库

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

我正在考虑使用EDN创建一个类似于IPFS的原型,它可以与传统的系统语言(尤其是C/C++这一对旧语言)集成。我想创建一个C++接口,它从编译时接受一个模板数据结构,从文件名创建并填充一个与此模板匹配的数据结构。在C中,这将是一些丑陋的东西,是一些由表示当前原语(列表、集合或字节)的枚举、void指针和所有这些C技巧组成的结构体。然后对它们进行序列化。

选择EDN particular 的原因在于它似乎是一种基于其基础的技术上优于其他规格的技术。它无需顶级包含数据结构,可扩展类型看起来是非常好的基础。看起来EDN缺少与JSON等格式相同的支持级别。这使得这项工作变得更难,但我认为我可以为此找到正当的理由。我正在寻找一个解决方案,将来可以作为嵌入式功能作为文件系统的一部分来重用,但那还远着呢。

我如何开始这样的项目?我缺少什么细节?

1 个回答

+1

被选择
 
最佳答案

这里有一些现有的实现,如果其中任何一个对您有用的话

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

看起来没有C实现。它与编译到C++目标的ANTLR4语法相比如何?看起来过去8年来没有对C++库的工作,这是一个红旗。
看起来没有编写器或序列化器。C++实现和ANTLR4语法似乎是不够的。我应该添加这个吗?
嗯,edn在过去8年里(几乎)没有改变,所以这不一定是个问题。如果有空缺,我愿意有谁能填补它!
...