{-# LANGUAGE CPP #-}
module Language.C.Inline.Interruptible
( exp
, pure
, block
) where
#if __GLASGOW_HASKELL__ < 710
import Prelude hiding (exp)
#else
import Prelude hiding (exp, pure)
#endif
import qualified Language.Haskell.TH.Quote as TH
import qualified Language.Haskell.TH.Syntax as TH
import Language.C.Inline.Context
import Language.C.Inline.Internal
exp :: TH.QuasiQuoter
exp :: QuasiQuoter
exp = Purity
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
genericQuote Purity
IO ((Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter)
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
forall a b. (a -> b) -> a -> b
$ Safety
-> Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ
inlineExp Safety
TH.Interruptible
pure :: TH.QuasiQuoter
pure :: QuasiQuoter
pure = Purity
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
genericQuote Purity
Pure ((Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter)
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
forall a b. (a -> b) -> a -> b
$ Safety
-> Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ
inlineExp Safety
TH.Interruptible
block :: TH.QuasiQuoter
block :: QuasiQuoter
block = Purity
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
genericQuote Purity
IO ((Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter)
-> (Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ)
-> QuasiQuoter
forall a b. (a -> b) -> a -> b
$ Safety
-> Bool
-> Maybe String
-> Loc
-> TypeQ
-> Type CIdentifier
-> [(CIdentifier, Type CIdentifier)]
-> String
-> ExpQ
inlineItems Safety
TH.Interruptible Bool
False Maybe String
forall a. Maybe a
Nothing