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