嚴格的領域
在 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