Use TcM instead of it's expanded form, in TcSplice
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Mon, 16 Nov 2015 16:01:01 +0000 (17:01 +0100)
committerBen Gamari <ben@smart-cactus.org>
Mon, 16 Nov 2015 20:59:46 +0000 (21:59 +0100)
Reviewers: austin, bgamari, goldfire

Reviewed By: bgamari, goldfire

Subscribers: thomie

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

compiler/typecheck/TcSplice.hs

index 728c40a..5c85e7d 100644 (file)
@@ -756,7 +756,7 @@ when showing an error message.
 To call runQ in the Tc monad, we need to make TcM an instance of Quasi:
 -}
 
-instance TH.Quasi (IOEnv (Env TcGblEnv TcLclEnv)) where
+instance TH.Quasi TcM where
   qNewName s = do { u <- newUnique
                   ; let i = getKey u
                   ; return (TH.mkNameU s i) }
@@ -840,7 +840,7 @@ instance TH.Quasi (IOEnv (Env TcGblEnv TcLclEnv)) where
       th_modfinalizers_var <- fmap tcg_th_modfinalizers getGblEnv
       updTcRef th_modfinalizers_var (\fins -> fin:fins)
 
-  qGetQ :: forall a. Typeable a => IOEnv (Env TcGblEnv TcLclEnv) (Maybe a)
+  qGetQ :: forall a. Typeable a => TcM (Maybe a)
   qGetQ = do
       th_state_var <- fmap tcg_th_state getGblEnv
       th_state <- readTcRef th_state_var