Я пытался реализовать синтаксический анализатор протокола в haskell, и я довольно плохо знаком с языком, особенно когда дело доходит до монад. Я использую бинарный-0.5.0.2 и описал заголовок и все полезные данные моего протокола. сообщения, которые я хотел бы проанализировать, выглядят примерно так: header + (полезная нагрузка A, полезная нагрузка B, ..), где поле в заголовке указывает, какой тип полезной нагрузки имеет сообщение.
Мне удалось проанализировать первое сообщение в строке байтов, но я не могу понять, как читать следующие сообщения, отбрасывая байты, которые были прочитаны при обработке первого сообщения.
Это может быть довольно расплывчато, но я бы предпочел получить информацию об обобщенном синтаксическом анализаторе, чем изменить мой уродливый код для работы таким образом.
Спасибо за помощь