Зерновые против двоичных

Два основных конкурирующих пакета для сериализации и десериализации данных в Haskell, о которых я знаю, являются двоичными и зерновыми. Когда следует выбирать один из этих пакетов над другим? Или есть другие варианты, которыми я пренебрегаю?

Ответ 1

Они не конкурируют, они дополняют друг друга. cereal работает на строгих байтах, а binary работает на ленивом. Из-за своей ленивой природы binary зависит от того, чтобы исключить ошибку при анализе разбора, а cereal может завершиться с ошибкой через Either.

Кроме того, подразумевая, что существуют только "два" основных пакета, это искажение. По крайней мере, вы также должны взглянуть на строителя пламени.