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


-- | Hashable instances for Data.Time
--   
--   Hashable instances for types in Data.Time
@package hashable-time
@version 0.2.0.2


module Data.Hashable.Time

-- | The class of types that can be converted to a hash value.
--   
--   Minimal implementation: <a>hashWithSalt</a>.
class Hashable a

-- | Return a hash value for the argument, using the given salt.
--   
--   The general contract of <a>hashWithSalt</a> is:
--   
--   <ul>
--   <li>If two values are equal according to the <a>==</a> method, then
--   applying the <a>hashWithSalt</a> method on each of the two values
--   <i>must</i> produce the same integer result if the same salt is used
--   in each case.</li>
--   <li>It is <i>not</i> required that if two values are unequal according
--   to the <a>==</a> method, then applying the <a>hashWithSalt</a> method
--   on each of the two values must produce distinct integer results.
--   However, the programmer should be aware that producing distinct
--   integer results for unequal values may improve the performance of
--   hashing-based data structures.</li>
--   <li>This method can be used to compute different hash values for the
--   same input by providing a different salt in each application of the
--   method. This implies that any instance that defines
--   <a>hashWithSalt</a> <i>must</i> make use of the salt in its
--   implementation.</li>
--   </ul>
hashWithSalt :: Hashable a => Int -> a -> Int

-- | Like <a>hashWithSalt</a>, but no salt is used. The default
--   implementation uses <a>hashWithSalt</a> with some default salt.
--   Instances might want to implement this method to provide a more
--   efficient implementation than the default implementation.
hash :: Hashable a => a -> Int
instance Data.Hashable.Class.Hashable Data.Time.Clock.Internal.UniversalTime.UniversalTime
instance Data.Hashable.Class.Hashable Data.Time.Clock.Internal.DiffTime.DiffTime
instance Data.Hashable.Class.Hashable Data.Time.Clock.Internal.UTCTime.UTCTime
instance Data.Hashable.Class.Hashable Data.Time.Clock.Internal.NominalDiffTime.NominalDiffTime
instance Data.Hashable.Class.Hashable Data.Time.Calendar.Days.Day
instance Data.Hashable.Class.Hashable Data.Time.LocalTime.Internal.TimeZone.TimeZone
instance Data.Hashable.Class.Hashable Data.Time.LocalTime.Internal.TimeOfDay.TimeOfDay
instance Data.Hashable.Class.Hashable Data.Time.LocalTime.Internal.LocalTime.LocalTime
instance Data.Hashable.Class.Hashable Data.Time.LocalTime.Internal.ZonedTime.ZonedTime
instance Data.Hashable.Class.Hashable Data.Time.Format.Locale.TimeLocale
