/Haskell 8


Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer [email protected]
Stability experimental
Portability non-portable
Safe Haskell Trustworthy
Language Haskell2010



An abstract interface to a unique symbol generator.

Unique objects

data Unique Source

An abstract unique object. Objects of type Unique may be compared for equality and ordering and hashed into Int.

>>> :{
do x <- newUnique
   print (x == x)
   y <- newUnique
   print (x == y)
Instances details
Eq Unique
Instance details

Defined in Data.Unique


(==) :: Unique -> Unique -> Bool Source

(/=) :: Unique -> Unique -> Bool Source

Ord Unique
Instance details

Defined in Data.Unique

newUnique :: IO Unique Source

Creates a new object of type Unique. The value returned will not compare equal to any other value of type Unique returned by previous calls to newUnique. There is no limit on the number of times newUnique may be called.

hashUnique :: Unique -> Int Source

Hashes a Unique into an Int. Two Uniques may hash to the same value, although in practice this is unlikely. The Int returned makes a good hash key.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).