-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Fully concurrent unique identifiers
--   
--   Fully concurrent unique identifiers
@package unique
@version 0


-- | An abstract interface to a concurrent unique symbol generator.
--   
--   Unlike <tt>Data.Unique</tt> from <tt>base</tt> the values are not a
--   member of <a>Ord</a>. However, there is no global bottleneck.
module Control.Concurrent.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.
data Unique

-- | Allocate a new <a>Unique</a> value. The value returned will not
--   compare equal to any other value of type <a>Unique</a> returned by
--   previous calls to <a>newUnique</a>. There is no limit on the number of
--   times <a>newUnique</a> may be called.
newUnique :: IO Unique
instance GHC.Classes.Eq Control.Concurrent.Unique.Unique
instance Data.Hashable.Class.Hashable Control.Concurrent.Unique.Unique
