Clarify scope of `getQ`/`putQ` state.
authorFrancesco Mazzoli <f@mazzo.li>
Tue, 30 Aug 2016 21:09:16 +0000 (17:09 -0400)
committerBen Gamari <ben@smart-cactus.org>
Wed, 31 Aug 2016 17:15:33 +0000 (13:15 -0400)
The current haddocks do not specify the scope of the state manipulated
by `getQ`/`putQ`.

Reviewers: austin, goldfire, bgamari, ezyang

Reviewed By: ezyang

Subscribers: ezyang, thomie

Differential Revision: https://phabricator.haskell.org/D2497

libraries/template-haskell/Language/Haskell/TH/Syntax.hs

index 690ab98..1129239 100644 (file)
@@ -465,11 +465,13 @@ addTopDecls ds = Q (qAddTopDecls ds)
 addModFinalizer :: Q () -> Q ()
 addModFinalizer act = Q (qAddModFinalizer (unQ act))
 
--- | Get state from the 'Q' monad.
+-- | Get state from the 'Q' monad. Note that the state is local to the
+-- Haskell module in which the Template Haskell expression is executed.
 getQ :: Typeable a => Q (Maybe a)
 getQ = Q qGetQ
 
--- | Replace the state in the 'Q' monad.
+-- | Replace the state in the 'Q' monad. Note that the state is local to the
+-- Haskell module in which the Template Haskell expression is executed.
 putQ :: Typeable a => a -> Q ()
 putQ x = Q (qPutQ x)