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

欢迎!请参阅关于页面以了解有关如何操作的一些更多信息。

+1
贡献库

你好,我对Clojure相关技术比较新手,我可能问了一个错误的问题。

我正在考虑使用EDN制作一个类似IPFS的原型,它可以与经典系统语言(尤其是老的双C组合)集成。我希望创建一个C++接口,它会从编译时获取一个模板数据结构,并根据一个文件名创建并填充一个与该模板匹配的数据结构。在C中,这可能是一些很丑的设置了枚举来指示当前原语(即列表、集合或字节),一个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年里(几乎没变),所以这并不一定是问题。如果有空白,我很乐意有人来填补它!
...