versions-6.0.2: test/TH.hs
-- | Template Haskell seems picky about compilation stages. The code here must
-- be defined in a module separate from the one it's being used in.
module TH (thVer) where
import qualified Data.Text as T
import Data.Versions
import Language.Haskell.TH (Exp, Q)
import Language.Haskell.TH.Syntax (lift)
---
-- | Parse a `Versioning` at compile time.
thVer :: T.Text -> Q Exp
thVer nm =
case versioning nm of
Left err -> fail (errorBundlePretty err)
Right v -> lift v