Я понимаю, что в:
f x = x + 1 where !y = undefined
значение шаблона взрыва в том, что y
должен быть оценен до f
.
Аналогично:
f x = x + 1 where !(!a, !b) = (undefined, undefined)
значение то же самое, w.r.t x
и y
.
Но что означают паттерны взрыва:
f x = x + 1 where (!a, !b) = (undefined, undefined)
Кажется, это не вызывает оценку undefined. Когда вступают в силу шаблоны взрыва в кортеже? Если кортеж шаблона является принудительным? Кто-нибудь может привести пример, где (!a, !b) = (..)
отличается от (a, b) = (..)
?