Нет, это выражение для случая будет оценивать b, но, конечно, только , если выражение, в котором оно содержится, само оценивается по любой причине.
Например, в
(42, case b of { True -> 43; False -> 41})
b не будет оцениваться до тех пор, пока второй элемент кортежа не станет равным.
В общем случае неопровержимый шаблон не будет увеличивать лень, если предыдущие шаблоны требовали оценки значения - помните, что шаблоны случаяпробуются строго последовательно в том порядке, в котором они даны.И поскольку нет ничего похожего на «неравномерное» всегда вычисляемое значение, выражение case остается оцененным.