前不久我發現了Natural
數據類型base
。當你打算使用非負整數類型時,它應該被採用(就我看來)。但這並不完全清楚,爲什麼我應該更喜歡Natural
到Integer
。兩種類型都具有任意精度,都具有相當優化的運行時表示 - Integer
representation和Natural
representation。但是當你減去自然數時,這不會真的爲你的代碼增加更多的類型安全。而Integer
在所有軟件包中更受歡迎。何時在Haskell中選擇'Integer'中的'Natural'?
那麼何時以及爲什麼要使用Natural
?
這可能有點自以爲是,但我的標準是「如果你更喜歡運行時錯誤的負面結果,選擇'自然'」 – chi
@chi同意。雖然我們在'Num'類型類中有'negate'和'( - )',所以我們可以做到不允許減法。 – Shersh