#4423: Remove 'rename' and friends from TH.Lib
---------------------------------+------------------------------------------
    Reporter:  simonpj           |        Owner:              
        Type:  bug               |       Status:  new         
    Priority:  normal            |    Milestone:              
   Component:  Template Haskell  |      Version:  6.12.3      
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------
 There are a handful of functions in the `template-haskell` package, module
 `Language.Haskell.TH.Lib`, that are defined in that module, but are not
 used, and are not exported by the main Template Haskell interface
 `Language.Haskell.TH`.

 I propose to nuke them.  I assume no one is using them (since they are not
 exported by the main interface),  and I'm not keen on the API of `rename`.
 Moreover, `rename` becomes signficantly more compilcated with the advent
 of view patterns.

 The functions are:
 {{{
 combine :: [([(Name, Name)], Pat)] -> ([(Name, Name)], [Pat])
   -- Seems to be a helper for rename
 rename :: Pat -> Q ([(Name, Name)], Pat)
 genpat :: Pat -> Q ((Name -> ExpQ), Pat)
 alpha :: [(Name, Name)] -> Name -> ExpQ

 simpleMatch :: Pat -> Exp -> Match
   -- This is the most defensible; it's a "smart constructor"
 }}}
 Deadline 2 weeks.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4423>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to