合計タイプをサポートする高性能オブジェクトシリアル化ライブラリ
-
28-10-2019 - |
解決
「Google Protocolバッファーのように」である場合、複数の言語のコードを生成する能力を意味する場合、おそらくそのようなものは存在しません。それらをサポートしていない言語で合計タイプをエミュレートすることは、せいぜい厄介です(たとえば、ブースト:バリアントで一致することを試みてください)。そのため、メインのターゲットが主流の言語である場合、それらを除外することは理にかなっています。
Haskell/ocamlのみを使用することに満足している場合、たくさんの選択肢があります。 Haskellにはあります 穀物, バイナリ, セーフコピー そしておそらく他の人。がある PIQIプロジェクト ocamlの場合。
他のヒント
私は以外の合計タイプをサポートする実用的なシステムを知りません Piqi (私は著者です)。 PIQIはプロトコルバッファーと互換性があり、OCAMLとErlangをネイティブにサポートしています。プロトコルバッファーに合計タイプがないことが、私がそれを作成した理由の1つでした。
私の計画は、Haskell、Clojureなどの他の言語をサポートするためにPiqiを拡大することです。
「高性能」形式が必要ですか?多くの汎用形式は、既存のコンストラクト(具体的にはマップ/ハッシュテーブル)を単純に使用して、ユニオンをサポートできる必要があります(実際の値のタイプを示すキー付きのエントリを含めるだけです)。そのため、たとえばJSONを使用してそのようなコンテンツを転送するために、簡単なコンベンションを使用するだけかもしれません。
所属していません StackOverflow