-----------------------------------------------------------------------------
-- |
-- Module      :  Data.HasKey
-- Copyright   :  Peter Robinson 2009
-- License     :  LGPL
--
-- Maintainer  :  Peter Robinson <thaldyron@gmail.com>
-- Stability   :  experimental
-- Portability :  non-portable (requires STM)
--
-----------------------------------------------------------------------------

module Data.HasKey( HasKey(key) )
where

-- | Types where values have a key for indexing.
class HasKey a k | a -> k where
  key :: a -> k