Data.Unique.hashUnique
用於從一個Unique
值獲得的幾乎唯一Int
:爲什麼Data.Unique的值在被暴露之前需要被散列?
hashUnique :: Unique -> Int
#if defined(__GLASGOW_HASKELL__)
hashUnique (Unique i) = I# (hashInteger i)
#else
hashUnique (Unique u) = fromInteger (u `mod` (toInteger (maxBound :: Int) + 1))
#endif
爲什麼不Data.Unique
報價爲獲得真正獨特的價值觀像getUnique
的功能?
getUnique :: Unique -> Integer
getUnique (Unique i) = i
這是圖書館發展過程中的疏忽嗎?我們可以將這樣的功能添加到Data.Unique中嗎?有很多情況下需要真正的唯一值。
爲什麼你需要獲得一個'Int'或'Integer'。爲什麼不直接使用'Unique'(這是真正獨特的)? – kosmikus 2012-07-20 09:10:28
因爲我最終需要打印它。 – Casini 2012-07-20 09:15:44