diff options
Diffstat (limited to 'libraries/template-haskell/Language/Haskell/TH/Lib.hs')
-rw-r--r-- | libraries/template-haskell/Language/Haskell/TH/Lib.hs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libraries/template-haskell/Language/Haskell/TH/Lib.hs b/libraries/template-haskell/Language/Haskell/TH/Lib.hs index 81ef1fcbb6..6971970524 100644 --- a/libraries/template-haskell/Language/Haskell/TH/Lib.hs +++ b/libraries/template-haskell/Language/Haskell/TH/Lib.hs @@ -369,12 +369,17 @@ classD ctxt cls tvs fds decs = return $ ClassD ctxt1 cls tvs fds decs1 instanceD :: CxtQ -> TypeQ -> [DecQ] -> DecQ -instanceD ctxt ty decs = +instanceD = instanceWithOverlapD Nothing + +instanceWithOverlapD :: Maybe Overlap -> CxtQ -> TypeQ -> [DecQ] -> DecQ +instanceWithOverlapD o ctxt ty decs = do ctxt1 <- ctxt decs1 <- sequence decs ty1 <- ty - return $ InstanceD ctxt1 ty1 decs1 + return $ InstanceD o ctxt1 ty1 decs1 + + sigD :: Name -> TypeQ -> DecQ sigD fun ty = liftM (SigD fun) $ ty |