#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