{-# LANGUAGE CPP #-}
{-# LANGUAGE ScopedTypeVariables #-}
#if __GLASGOW_HASKELL__ >= 706
{-# LANGUAGE PolyKinds #-}
#endif
module Language.Haskell.TH.Lift.Internal where
#if MIN_VERSION_template_haskell(2,16,0)
import GHC.Exts (RuntimeRep, TYPE)
#endif
import Language.Haskell.TH.Syntax
#if MIN_VERSION_template_haskell(2,17,0)
errorQuoteExp :: Quote q => String -> q Exp
#else
errorQuoteExp :: String -> Q Exp
#endif
errorQuoteExp = error
#if MIN_VERSION_template_haskell(2,17,0)
unsafeSpliceCoerce :: forall (r :: RuntimeRep) (a :: TYPE r) m. Quote m => m Exp -> Code m a
unsafeSpliceCoerce = unsafeCodeCoerce
#elif MIN_VERSION_template_haskell(2,16,0)
unsafeSpliceCoerce :: forall (r :: RuntimeRep) (a :: TYPE r). Q Exp -> Q (TExp a)
unsafeSpliceCoerce = unsafeTExpCoerce
#elif MIN_VERSION_template_haskell(2,9,0)
unsafeSpliceCoerce :: forall a. Q Exp -> Q (TExp a)
unsafeSpliceCoerce = unsafeTExpCoerce
#endif