scalie/test/Test/Tasty/TH.hs

11 lines
360 B
Haskell

{-# LANGUAGE Safe #-} -- does template haskell, but no IO inside it
module Test.Tasty.TH (moduleName) where
import Language.Haskell.TH.Lib (thisModule)
import Language.Haskell.TH.Syntax (Q, Exp(LitE), ModName(ModName), Lit(StringL), Module (Module))
moduleName :: Q Exp
moduleName = do
Module _ (ModName name) <- thisModule
pure . LitE . StringL $ name