爆炸模式

用爆炸(!)注释的模式被严格评估而不是懒惰。

foo (!x, y) !z = [x, y, z] 

在此示例中,xz 将在返回列表之前被评估为弱头正常形式。它相当于:

foo (x, y) z = x `seq` z `seq` [x, y, z]

使用 Haskell 2010 BangPatterns 语言扩展启用 Bang 模式。