严格的领域
在 data
声明中,使用 bang(!
)为类型添加前缀会使该字段成为严格字段。当应用数据构造函数时,这些字段将被评估为弱头正常形式,因此字段中的数据始终保持弱头正常形式。
严格的字段可以用于记录和非记录类型:
data User = User
{ identifier :: !Int
, firstName :: !Text
, lastName :: !Text
}
data T = MkT !Int !Int
在 data
声明中,使用 bang(!
)为类型添加前缀会使该字段成为严格字段。当应用数据构造函数时,这些字段将被评估为弱头正常形式,因此字段中的数据始终保持弱头正常形式。
严格的字段可以用于记录和非记录类型:
data User = User
{ identifier :: !Int
, firstName :: !Text
, lastName :: !Text
}
data T = MkT !Int !Int