严格匹配元组

模式 (p1, p2) 在最外层的元组构造函数中是严格的,这可能导致意外的严格行为 。例如,以下表达式发散(使用 Data.Function.fix):

fix $ \(x, y) -> (1, 2)

因为 (x, y) 上的匹配在元组构造函数中是严格的。但是,使用无可辩驳模式的以下表达式按预期计算为 (1, 2)

fix $ \ ~(x, y) -> (1, 2)