[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / rename / Rename.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Rename where
3 import AbsSyn(Module)
4 import Bag(Bag)
5 import CmdLineOpts(GlobalSwitch)
6 import ErrUtils(Error(..))
7 import HsBinds(Binds, Sig)
8 import HsDecls(ClassDecl, DataTypeSig, DefaultDecl, FixityDecl, InstDecl, SpecialisedInstanceSig, TyDecl)
9 import HsImpExp(IE, ImportedInterface)
10 import HsLit(Literal)
11 import HsPat(InPat, ProtoNamePat(..), RenamedPat(..))
12 import Id(Id)
13 import Maybes(Labda)
14 import Name(Name)
15 import NameTypes(FullName, ShortName)
16 import PreludePS(_PackedString)
17 import Pretty(PprStyle, Pretty(..), PrettyRep)
18 import ProtoName(ProtoName)
19 import RenameAuxFuns(GlobalNameFun(..), GlobalNameFuns(..), PreludeNameFun(..), PreludeNameFuns(..))
20 import SplitUniq(SplitUniqSupply)
21 import SrcLoc(SrcLoc)
22 import TyCon(TyCon)
23 import Unique(Unique)
24 data Module a b 
25 data Bag a 
26 data GlobalSwitch 
27 type Error = PprStyle -> Int -> Bool -> PrettyRep
28 data InPat a 
29 type ProtoNamePat = InPat ProtoName
30 type RenamedPat = InPat Name
31 data Labda a 
32 data Name 
33 data PprStyle 
34 type Pretty = Int -> Bool -> PrettyRep
35 data PrettyRep 
36 data ProtoName 
37 type GlobalNameFun = ProtoName -> Labda Name
38 type GlobalNameFuns = (ProtoName -> Labda Name, ProtoName -> Labda Name)
39 type PreludeNameFun = _PackedString -> Labda Name
40 type PreludeNameFuns = (_PackedString -> Labda Name, _PackedString -> Labda Name)
41 data SplitUniqSupply 
42 renameModule :: (GlobalSwitch -> Bool) -> (_PackedString -> Labda Name, _PackedString -> Labda Name) -> Module ProtoName (InPat ProtoName) -> SplitUniqSupply -> (Module Name (InPat Name), [_PackedString], (ProtoName -> Labda Name, ProtoName -> Labda Name), Bag (PprStyle -> Int -> Bool -> PrettyRep))
43