Data.Unique.hashUnique
値Int
からほぼ一意のものを取得するために使用されます。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 に追加できますか? 真にユニークな値が必要な場合が多くあります。