unique-0: Fully concurrent unique identifiers

Safe HaskellNone
LanguageHaskell2010

Control.Concurrent.Unique

Description

An abstract interface to a concurrent unique symbol generator.

Unlike Data.Unique from base the values are not a member of Ord. However, there is no global bottleneck.

Synopsis

Documentation

data Unique #

Unique identifiers are created by creating heap objects in kind # that can be compared for value equality and then hashing them using their initial allocation address.

Instances
Eq Unique # 
Instance details

Defined in Control.Concurrent.Unique

Methods

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

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

Hashable Unique # 
Instance details

Defined in Control.Concurrent.Unique

Methods

hashWithSalt :: Int -> Unique -> Int #

hash :: Unique -> Int #

newUnique :: IO Unique #

Allocate a new Unique value. 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.