标签: haskell
此Haskell数据声明中的感叹号是什么意思:
data Sample = First !Integer | Second !String
答案 0 :(得分:2)
它使该字段严格 - see here
如果将其添加到字段中,则确保在使用构造函数时评估该值 - 它通常有助于避免空间泄漏(来自巨大的thunk链)
如果你使用GHC8,你可以默认使用Strict or StrictData pragma
Strict
StrictData