[project @ 1996-02-06 14:32:22 by dnt]
[ghc-hetmet.git] / ghc / compiler / typecheck / TcModule.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface TcModule where
3 import AbsSyn(Module)
4 import Bag(Bag)
5 import CE(CE(..))
6 import CharSeq(CSeq)
7 import Class(Class)
8 import CmdLineOpts(GlobalSwitch)
9 import E(E)
10 import ErrUtils(Error(..))
11 import FiniteMap(FiniteMap)
12 import HsBinds(Bind, Binds, MonoBinds, Sig)
13 import HsDecls(ClassDecl, DataTypeSig, DefaultDecl, FixityDecl, InstDecl, SpecialisedInstanceSig, TyDecl)
14 import HsExpr(ArithSeqInfo, Expr, Qual)
15 import HsImpExp(IE, ImportedInterface)
16 import HsLit(Literal)
17 import HsMatches(Match)
18 import HsPat(InPat, RenamedPat(..), TypecheckedPat)
19 import HsTypes(PolyType)
20 import Id(Id)
21 import Inst(Inst)
22 import Maybes(Labda)
23 import Name(Name)
24 import NameTypes(FullName, ShortName)
25 import PreludePS(_PackedString)
26 import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
27 import ProtoName(ProtoName)
28 import SplitUniq(SplitUniqSupply)
29 import SrcLoc(SrcLoc)
30 import Subst(Subst)
31 import TCE(TCE(..))
32 import TcInstDcls(InstInfo)
33 import TcMonad(TcResult)
34 import TyCon(TyCon)
35 import TyVar(TyVar, TyVarTemplate)
36 import UniType(UniType)
37 import UniqFM(UniqFM)
38 import Unique(Unique)
39 data Module a b 
40 data Bag a 
41 type CE = UniqFM Class
42 data E 
43 type Error = PprStyle -> Int -> Bool -> PrettyRep
44 data Binds a b 
45 data FixityDecl a 
46 data Expr a b 
47 data InPat a 
48 type RenamedPat = InPat Name
49 data TypecheckedPat 
50 data Id 
51 data Inst 
52 data Labda a 
53 data Name 
54 data PprStyle 
55 type Pretty = Int -> Bool -> PrettyRep
56 data PrettyRep 
57 data ProtoName 
58 data SrcLoc 
59 data Subst 
60 type TCE = UniqFM TyCon
61 data InstInfo 
62 data TcResult a 
63 data UniqFM a 
64 tcModule :: E -> (ProtoName -> Labda Name, ProtoName -> Labda Name) -> Module Name (InPat Name) -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> TcResult ((Binds Id TypecheckedPat, Binds Id TypecheckedPat, Binds Id TypecheckedPat, [(Inst, Expr Id TypecheckedPat)]), ([FixityDecl Name], [Id], UniqFM Class, UniqFM TyCon, Bag InstInfo), FiniteMap TyCon [(Bool, [Labda UniType])], E, PprStyle -> Int -> Bool -> PrettyRep)
65