1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface GenSpecEtc where
6 import CmdLineOpts(GlobalSwitch)
8 import ErrUtils(Error(..))
9 import ErrsTc(UnifyErrContext)
10 import HsBinds(Bind, Binds, MonoBinds, Sig)
13 import HsPat(TypecheckedPat)
15 import Inst(Inst, InstOrigin, OverloadedLit)
19 import NameTypes(FullName, ShortName)
20 import PreludePS(_PackedString)
21 import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
22 import SimplEnv(UnfoldingGuidance)
23 import SplitUniq(SplitUniqSupply)
26 import TcMonad(TcResult)
29 import UniType(UniType)
30 import Unique(Unique, UniqueSupply)
33 type Error = PprStyle -> Int -> Bool -> PrettyRep
42 type Pretty = Int -> Bool -> 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
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)])