[GHC] #7682: Plugin example not updated for ghc 7.6

GHC cvs-ghc at haskell.org
Mon Feb 11 16:57:59 CET 2013


#7682: Plugin example not updated for ghc 7.6
-----------------------------+----------------------------------------------
Reporter:  edsko             |          Owner:                  
    Type:  bug               |         Status:  new             
Priority:  normal            |      Component:  Documentation   
 Version:  7.6.2             |       Keywords:                  
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
 Failure:  None/Unknown      |      Blockedby:                  
Blocking:                    |        Related:                  
-----------------------------+----------------------------------------------
 The GHC plugin docs
 (http://www.haskell.org/ghc/docs/latest/html/users_guide/compiler-
 plugins.html) have this example:

 {{{
 pass :: ModGuts -> CoreM ModGuts
 pass = bindsOnlyPass (mapM printBind)
   where printBind :: CoreBind -> CoreM CoreBind
         printBind bndr@(NonRec b _) = do
           putMsgS $ "Non-recursive binding named " ++ showSDoc (ppr b)
           return bndr
         printBind bndr = return bndr
 }}}

 but in ghc >= 7.6 `showSDoc` requires `DynFlags`:

 {{{
 pass :: ModGuts -> CoreM ModGuts
 pass guts = do
     dynFlags <- getDynFlags
     bindsOnlyPass (mapM $ printBind dynFlags) guts
   where
     printBind :: DynFlags -> CoreBind -> CoreM CoreBind
     printBind _dynFlags bndr@(NonRec b _) = do
 #if __GLASGOW_HASKELL__ >= 706
       putMsgS $ "Non-recursive binding named " ++ showSDoc _dynFlags (ppr
 b)
 #else
       putMsgS $ "Non-recursive binding named " ++ showSDoc (ppr b)
 #endif
       return bndr
     printBind _dynFlags bndr = return bndr
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7682>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list