diff --git a/src/Utils/TH.hs b/src/Utils/TH.hs index 40669cc2f..d2d9d515f 100644 --- a/src/Utils/TH.hs +++ b/src/Utils/TH.hs @@ -111,6 +111,9 @@ afterN n = do deriveShowWith :: (String -> String) -> Name -> Q [Dec] deriveShowWith = deriveSimpleWith ''Show 'show +unitTypeOut :: () -> () +unitTypeOut = id + deriveSimpleWith :: Name -> Name -> (String -> String) -> Name -> Q [Dec] deriveSimpleWith cls fun strOp ty = do (TyConI tyCon) <- reify ty @@ -125,7 +128,7 @@ deriveSimpleWith cls fun strOp ty = do genClause :: Con -> Q Clause genClause (NormalC name []) = - let pats = [ConP name []] + let pats = [ConP name [] []] body = NormalB $ LitE $ StringL $ strOp $ nameBase name in return $ Clause pats body [] genClause _ = fail "deriveShowTheme: constructors not allowed to have arguments"