{-# LANGUAGE Safe #-}

{-# OPTIONS_HADDOCK hide #-}


module Text.Gigaparsec.Internal.TH.DecUtils (
  module Text.Gigaparsec.Internal.TH.DecUtils
  ) where
import Text.Gigaparsec.Internal.TH.VersionAgnostic (Q, Name, Exp, Dec)
import Language.Haskell.TH (normalB, clause, funD)
    
funDsingleClause :: Name -> Q Exp -> Q Dec
funDsingleClause :: Name -> Q Exp -> Q Dec
funDsingleClause Name
x Q Exp
body = Name -> [Q Clause] -> Q Dec
forall (m :: * -> *). Quote m => Name -> [m Clause] -> m Dec
funD Name
x [[Q Pat] -> Q Body -> [Q Dec] -> Q Clause
forall (m :: * -> *).
Quote m =>
[m Pat] -> m Body -> [m Dec] -> m Clause
clause [] (Q Exp -> Q Body
forall (m :: * -> *). Quote m => m Exp -> m Body
normalB Q Exp
body) []]