Remove 'rename' and friends from TH.Lib
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.
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Template Haskell |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |