dependent-map-0.2.0.1: src/Data/Dependent/Map/Typeable.hs
{-# LANGUAGE CPP #-}
#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
{-# LANGUAGE Trustworthy #-}
#endif
module Data.Dependent.Map.Typeable where
import Data.Dependent.Map.Internal
import Data.Typeable
instance (Typeable1 k, Typeable1 f) => Typeable (DMap k f) where
typeOf ds = mkTyConApp dMapCon [typeOfK, typeOfF]
where
typeOfK = typeOf1 $ (undefined :: DMap k f -> k a) ds
typeOfF = typeOf1 $ (undefined :: DMap k f -> f a) ds
#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
dMapCon = mkTyCon3 "dependent-map" "Data.Dependent.Map" "DMap"
#else
dMapCon = mkTyCon "Data.Dependent.Map.DMap"
#endif