Haskell中数据声明中的感叹号

时间:2016-07-08 16:59:56

标签: haskell

此Haskell数据声明中的感叹号是什么意思:

data Sample = First !Integer | Second !String

1 个答案:

答案 0 :(得分:2)

它使该字段严格 - see here

如果将其添加到字段中,则确保在使用构造函数时评估该值 - 它通常有助于避免空间泄漏(来自巨大的thunk链)

如果你使用GHC8,你可以默认使用Strict or StrictData pragma