2012-02-21 13 views

Odpowiedz

2

jakby przez „jak protokołem Google bufory "masz na myśli zdolność do generowania kodu dla wielu języków, wtedy prawdopodobnie takie rzeczy nie istnieją. Emulowanie typów sum w językach, które ich nie obsługują, jest w najlepszym wypadku niezręczne (spróbuj dopasować do wzorca przy podnoszeniu: na przykład wariant). Dlatego warto je pominąć, jeśli głównym celem są języki głównego nurtu.

Jeśli jesteś zadowolony z używania tylko haskell/ocaml/cokolwiek, masz do wyboru. Dla haskell są cereal, , safecopy i prawdopodobnie inne. Istnieje piqi project dla ocaml.

+1

Cóż, nie potrzebujesz dopasowywania wzorów, tylko oznaczone związki. Innym przykładem może być protobuf z 3 opcjonalnymi polami z ograniczeniem, że tylko jeden z nich może być ustawiony na raz. W większości poszukuję platformy międzyplatformowej z obsługą niektórych popularnych języków, takich jak C++, Java lub Python. – user239558

+0

Myślę, że typy sum są niepraktyczne (nie impozycyjne) bez dopasowywania wzorca. Używanie opcjonalnych pól jest niestabilne, ponieważ nie można na ogół wymusić tej konstelacji. Oczekuje się, że można łączyć komunikaty i ograniczenia mogą zostać zerwane podczas łączenia – Shimuuar

2

Nie znam żadnych praktycznych systemów obsługujących typy sum inne niż Piqi (jestem autorem). Piqi jest kompatybilny z buforami protokołów i natywnie obsługuje OCaml i Erlang. Brak typów sum w buforach protokołu był jednym z powodów, dla których go stworzyłem.

Mój plan jest rozszerzenie Piqi celu wsparcia innych języków takich jak Haskell, Clojure itp

0

Czy istnieje zapotrzebowanie na formacie „wysokiej jakości”? Wiele formatów ogólnego przeznaczenia powinno być w stanie po prostu używać istniejących konstrukcji - w szczególności Map/hashtables, aby obsługiwać związki (wystarczy wpisać wpis z kluczem wskazującym typ rzeczywistej wartości). Więc może po prostu użyć prostej konwencji, aby użyć, powiedzmy, JSON, do przeniesienia takiej zawartości.

Powiązane problemy