Обратите внимание, что fromJson возвращает Результат a, который может быть Строка ошибки или Успех a.
Если я использую fromJson в потоке (например, ответ от http-потоков с использованием выражения parseFromStream (fromJSON <$> json')
) (link), сопоставление с образцом в результате приводит к тому, что весь поток сначала полностью буферизуется, чтобы синтаксический анализ определить успех или неудачу, независимо от того, является ли дальнейшее потребление ответа достаточно ленивым (т. е. синтаксический анализ + потребление в постоянном пространстве невозможно)? Или как синтаксический анализ, так и результат могут использоваться лениво, т. е. возможен синтаксический анализ + потребление в постоянном пространстве )? В документах говорится, что «parseFromStream потребляет столько входных данных, сколько необходимо для удовлетворения синтаксического анализатора», но неясно, как «удовлетворение синтаксического анализатора» связано с сопоставлением с образцом в результате для получения успеха или ошибки.
(P.S. В качестве альтернативы это невозможно, есть ли другой способ, позволяющий анализировать постоянное пространство с потреблением?)