[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / typecheck / GenSpecEtc.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface GenSpecEtc where
3 import Bag(Bag)
4 import CharSeq(CSeq)
5 import Class(Class)
6 import CmdLineOpts(GlobalSwitch)
7 import E(E)
8 import ErrUtils(Error(..))
9 import ErrsTc(UnifyErrContext)
10 import HsBinds(Bind, Binds, MonoBinds, Sig)
11 import HsExpr(Expr)
12 import HsLit(Literal)
13 import HsPat(TypecheckedPat)
14 import Id(Id)
15 import Inst(Inst, InstOrigin, OverloadedLit)
16 import LIE(LIE)
17 import Maybes(Labda)
18 import Name(Name)
19 import NameTypes(FullName, ShortName)
20 import PreludePS(_PackedString)
21 import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
22 import SimplEnv(UnfoldingGuidance)
23 import SplitUniq(SplitUniqSupply)
24 import SrcLoc(SrcLoc)
25 import Subst(Subst)
26 import TcMonad(TcResult)
27 import TyCon(TyCon)
28 import TyVar(TyVar)
29 import UniType(UniType)
30 import Unique(Unique, UniqueSupply)
31 data Bag a 
32 data E 
33 type Error = PprStyle -> Int -> Bool -> PrettyRep
34 data Bind a b 
35 data Binds a b 
36 data TypecheckedPat 
37 data Id 
38 data Inst 
39 data LIE 
40 data Name 
41 data PprStyle 
42 type Pretty = Int -> Bool -> PrettyRep
43 data PrettyRep 
44 data SignatureInfo   = TySigInfo Id [TyVar] [Inst] UniType SrcLoc | ValSpecInfo Name UniType (Labda Name) SrcLoc | ValInlineInfo Name UnfoldingGuidance SrcLoc | ValDeforestInfo Name SrcLoc | ValMagicUnfoldingInfo Name _PackedString SrcLoc
45 data SrcLoc 
46 data Subst 
47 data TcResult a 
48 data TyVar 
49 data UniType 
50 data UniqueSupply 
51 checkSigTyVars :: [TyVar] -> [TyVar] -> UniType -> UniType -> UnifyErrContext -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> TcResult [TyVar]
52 genBinds :: Bool -> E -> Bind Id TypecheckedPat -> LIE -> [(Name, Id)] -> [SignatureInfo] -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> TcResult (Binds Id TypecheckedPat, LIE, [(Name, Id)])
53