{-# LANGUAGE CPP, NoImplicitPrelude #-} module Data.Proxy.Compat ( module Base, asProxyTypeOf ) where #if MIN_VERSION_base(4,10,0) import Data.Proxy as Base #else import Data.Proxy as Base hiding (asProxyTypeOf) #endif #if !(MIN_VERSION_base(4,10,0)) import Prelude (const) -- | 'asProxyTypeOf' is a type-restricted version of 'const'. -- It is usually used as an infix operator, and its typing forces its first -- argument (which is usually overloaded) to have the same type as the tag -- of the second. asProxyTypeOf :: a -> proxy a -> a asProxyTypeOf = const {-# INLINE asProxyTypeOf #-} #endif