我想知道是否有任何高性能序列化库(如 Google 协议缓冲区)支持sum types。
Sum 类型是标记的并集,基本上可以说某事物是 A、B 或 C。Sum 类型用于支持代数数据类型的 Haskell 和 ML 等语言
我想知道是否有任何高性能序列化库(如 Google 协议缓冲区)支持sum types。
Sum 类型是标记的并集,基本上可以说某事物是 A、B 或 C。Sum 类型用于支持代数数据类型的 Haskell 和 ML 等语言
除了Piqi(我是作者)之外,我不知道任何支持 sum 类型的实用系统。Piqi 与 Protocol Buffers 兼容,并原生支持 OCaml 和 Erlang。协议缓冲区中没有 sum 类型是我创建它的原因之一。
我的计划是扩展 Piqi 以支持其他语言,例如 Haskell、Clojure 等。
是否需要“高性能”格式?许多通用格式应该能够简单地使用现有的结构——特别是 Maps/hashtables,来支持联合(只包括带有指示实际值类型的键的条目)。因此,也许您可以只使用简单的约定来使用 JSON 来传输此类内容。