Était-ce utile?

La solution

Si par "comme les tampons de protocole Google" vous entendez la capacité de générer du code pour plusieurs langues, alors une telle chose n'existe probablement pas.Émuler des types de somme dans des langages qui ne les prennent pas en charge est au mieux gênant (essayez de faire correspondre le modèle sur boost: variant par exemple).Il est donc logique de les laisser de côté si la cible principale est les langues traditionnelles.

Si vous vous contentez d'utiliser uniquement haskell / ocaml / quoi que ce soit, il y a beaucoup de choix.Pour haskell, il existe des céréales , binaire , safecopy et probablement d'autres.Il existe un projet piqi pour ocaml.

Autres conseils

Je ne connais aucun système pratique prenant en charge les types de somme autres que Piqi (j'en suis l'auteur).Piqi est compatible avec les tampons de protocole et prend en charge nativement OCaml et Erlang.L'absence de types de somme dans les tampons de protocole était l'une des raisons pour lesquelles je l'ai créé.

Mon plan est d'étendre Piqi pour prendre en charge d'autres langues telles que Haskell, Clojure, etc.

Y a-t-il besoin d'un format "haute performance"?De nombreux formats à usage général devraient être capables d'utiliser simplement des constructions existantes - en particulier, Maps / hashtables, pour prendre en charge les unions (incluez simplement une entrée avec une clé qui indique le type de valeur réelle). Alors peut-être que vous pourriez simplement utiliser une convention simple pour utiliser, par exemple, JSON, pour transférer un tel contenu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top