{-# LANGUAGE TemplateHaskellQuotes #-}
module Cassandra.QQ (sql) where
import Imports
import Language.Haskell.TH
import Language.Haskell.TH.Quote (QuasiQuoter (..))
sql :: QuasiQuoter
sql :: QuasiQuoter
sql =
QuasiQuoter
{ quotePat :: String -> Q Pat
quotePat = String -> String -> Q Pat
forall a. HasCallStack => String -> a
error String
"Cassandra.QQ: sql quasiquoter cannot be used as pattern",
quoteType :: String -> Q Type
quoteType = String -> String -> Q Type
forall a. HasCallStack => String -> a
error String
"Cassandra.QQ: sql quasiquoter cannot be used as type",
quoteDec :: String -> Q [Dec]
quoteDec = String -> String -> Q [Dec]
forall a. HasCallStack => String -> a
error String
"Cassandra.QQ: sql quasiquoter cannot be used as declaration",
quoteExp :: String -> Q Exp
quoteExp = Q Exp -> Q Exp -> Q Exp
forall (m :: * -> *). Quote m => m Exp -> m Exp -> m Exp
appE [|fromString|] (Q Exp -> Q Exp) -> (String -> Q Exp) -> String -> Q Exp
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Q Exp
forall (m :: * -> *). Quote m => String -> m Exp
stringE
}