[project @ 1996-01-08 20:28:12 by partain]
[ghc.git] / ghc / compiler / rename / RenameBinds4.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface RenameBinds4 where
3 import Bag(Bag)
4 import CharSeq(CSeq)
5 import CmdLineOpts(GlobalSwitch)
6 import ErrUtils(Error(..))
7 import FiniteMap(FiniteMap)
8 import HsBinds(Bind, Binds, MonoBinds, Sig)
9 import HsExpr(Expr)
10 import HsLit(Literal)
11 import HsMatches(GRHSsAndBinds, Match)
12 import HsPat(InPat)
13 import Id(Id)
14 import Inst(Inst)
15 import Maybes(Labda)
16 import Name(Name)
17 import NameTypes(FullName, ShortName)
18 import PreludePS(_PackedString)
19 import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
20 import ProtoName(ProtoName)
21 import RenameAuxFuns(GlobalNameFun(..))
22 import SplitUniq(SplitUniqSupply)
23 import SrcLoc(SrcLoc)
24 import TyCon(TyCon)
25 import TyVar(TyVar)
26 import UniqFM(UniqFM)
27 import UniqSet(UniqSet(..))
28 import Unique(Unique)
29 data Bag a      {-# GHC_PRAGMA EmptyBag | UnitBag a | TwoBags (Bag a) (Bag a) | ListOfBags [Bag a] #-}
30 type Error = PprStyle -> Int -> Bool -> PrettyRep
31 data Binds a b  {-# GHC_PRAGMA EmptyBinds | ThenBinds (Binds a b) (Binds a b) | SingleBind (Bind a b) | BindWith (Bind a b) [Sig a] | AbsBinds [TyVar] [Id] [(Id, Id)] [(Inst, Expr a b)] (Bind a b) #-}
32 type DefinedVars = UniqFM Name
33 type FreeVars = UniqFM Name
34 data MonoBinds a b      {-# GHC_PRAGMA EmptyMonoBinds | AndMonoBinds (MonoBinds a b) (MonoBinds a b) | PatMonoBind b (GRHSsAndBinds a b) SrcLoc | VarMonoBind Id (Expr a b) | FunMonoBind a [Match a b] SrcLoc #-}
35 data InPat a    {-# GHC_PRAGMA WildPatIn | VarPatIn a | LitPatIn Literal | LazyPatIn (InPat a) | AsPatIn a (InPat a) | ConPatIn a [InPat a] | ConOpPatIn (InPat a) a (InPat a) | ListPatIn [InPat a] | TuplePatIn [InPat a] | NPlusKPatIn a Literal #-}
36 data Labda a    {-# GHC_PRAGMA Hamna | Ni a #-}
37 data Name       {-# GHC_PRAGMA Short Unique ShortName | WiredInTyCon TyCon | WiredInVal Id | PreludeVal Unique FullName | PreludeTyCon Unique FullName Int Bool | PreludeClass Unique FullName | OtherTyCon Unique FullName Int Bool [Name] | OtherClass Unique FullName [Name] | OtherTopId Unique FullName | ClassOpName Unique Name _PackedString Int | Unbound _PackedString #-}
38 data PprStyle   {-# GHC_PRAGMA PprForUser | PprDebug | PprShowAll | PprInterface (GlobalSwitch -> Bool) | PprForC (GlobalSwitch -> Bool) | PprUnfolding (GlobalSwitch -> Bool) | PprForAsm (GlobalSwitch -> Bool) Bool ([Char] -> [Char]) #-}
39 type Pretty = Int -> Bool -> PrettyRep
40 data PrettyRep  {-# GHC_PRAGMA MkPrettyRep CSeq (Delay Int) Bool Bool #-}
41 data ProtoName  {-# GHC_PRAGMA Unk _PackedString | Imp _PackedString _PackedString [_PackedString] _PackedString | Prel Name #-}
42 type GlobalNameFun = ProtoName -> Labda Name
43 data SplitUniqSupply    {-# GHC_PRAGMA MkSplitUniqSupply Int SplitUniqSupply SplitUniqSupply #-}
44 data SrcLoc     {-# GHC_PRAGMA SrcLoc _PackedString _PackedString | SrcLoc2 _PackedString Int# #-}
45 data UniqFM a   {-# GHC_PRAGMA EmptyUFM | LeafUFM Int# a | NodeUFM Int# Int# (UniqFM a) (UniqFM a) #-}
46 type UniqSet a = UniqFM a
47 data Unique     {-# GHC_PRAGMA MkUnique Int# #-}
48 rnBinds4 :: Binds ProtoName (InPat ProtoName) -> (GlobalSwitch -> Bool) -> (ProtoName -> Labda Name, ProtoName -> Labda Name) -> FiniteMap _PackedString Name -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SplitUniqSupply -> SrcLoc -> ((Binds Name (InPat Name), UniqFM Name, [Name]), Bag (PprStyle -> Int -> Bool -> PrettyRep))
49         {-# GHC_PRAGMA _A_ 1 _U_ 1222222 _N_ _S_ "S" _N_ _N_ #-}
50 rnMethodBinds4 :: Name -> MonoBinds ProtoName (InPat ProtoName) -> (GlobalSwitch -> Bool) -> (ProtoName -> Labda Name, ProtoName -> Labda Name) -> FiniteMap _PackedString Name -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SplitUniqSupply -> SrcLoc -> (MonoBinds Name (InPat Name), Bag (PprStyle -> Int -> Bool -> PrettyRep))
51         {-# GHC_PRAGMA _A_ 2 _U_ 22222222 _N_ _S_ "LS" _N_ _N_ #-}
52 rnTopBinds4 :: Binds ProtoName (InPat ProtoName) -> (GlobalSwitch -> Bool) -> (ProtoName -> Labda Name, ProtoName -> Labda Name) -> FiniteMap _PackedString Name -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SplitUniqSupply -> SrcLoc -> (Binds Name (InPat Name), Bag (PprStyle -> Int -> Bool -> PrettyRep))
53         {-# GHC_PRAGMA _A_ 1 _U_ 1222222 _N_ _S_ "S" _N_ _N_ #-}
54