{-# 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) []]