glirc-2.40: src/StrQuote.hs
{-|
Module : StrQuote
Description : Template Haskell quasi-quoter for string literals
Copyright : (c) Eric Mertens, 2017
License : ISC
Maintainer : emertens@gmail.com
-}
module StrQuote (str) where
import Language.Haskell.TH (Pat(LitP), Type(LitT), stringE, Lit(StringL), TyLit(StrTyLit))
import Language.Haskell.TH.Quote (QuasiQuoter(..))
str :: QuasiQuoter
str = QuasiQuoter
{ quoteExp = stringE
, quotePat = pure . LitP . StringL
, quoteType = pure . LitT . StrTyLit
, quoteDec = const (fail "str is for expressions")
}