[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / typecheck / Disambig.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Disambig where
3 import Bag(Bag)
4 import CharSeq(CSeq)
5 import Class(Class)
6 import CmdLineOpts(GlobalSwitch)
7 import ErrUtils(Error(..))
8 import Id(Id)
9 import Inst(Inst, InstOrigin, OverloadedLit)
10 import Maybes(Labda)
11 import PreludeGlaST(_MutableArray)
12 import PreludePS(_PackedString)
13 import Pretty(Delay, PprStyle, Pretty(..), PrettyRep)
14 import SplitUniq(SplitUniqSupply)
15 import SrcLoc(SrcLoc)
16 import Subst(Subst)
17 import TcMonad(TcResult)
18 import UniType(UniType)
19 import Unique(Unique, UniqueSupply)
20 data Bag a      {-# GHC_PRAGMA EmptyBag | UnitBag a | TwoBags (Bag a) (Bag a) | ListOfBags [Bag a] #-}
21 type Error = PprStyle -> Int -> Bool -> PrettyRep
22 data Inst       {-# GHC_PRAGMA Dict Unique Class UniType InstOrigin | Method Unique Id [UniType] InstOrigin | LitInst Unique OverloadedLit UniType InstOrigin #-}
23 data PprStyle   {-# GHC_PRAGMA PprForUser | PprDebug | PprShowAll | PprInterface (GlobalSwitch -> Bool) | PprForC (GlobalSwitch -> Bool) | PprUnfolding (GlobalSwitch -> Bool) | PprForAsm (GlobalSwitch -> Bool) Bool ([Char] -> [Char]) #-}
24 type Pretty = Int -> Bool -> PrettyRep
25 data PrettyRep  {-# GHC_PRAGMA MkPrettyRep CSeq (Delay Int) Bool Bool #-}
26 data SrcLoc     {-# GHC_PRAGMA SrcLoc _PackedString _PackedString | SrcLoc2 _PackedString Int# #-}
27 data Subst      {-# GHC_PRAGMA MkSubst (_MutableArray _RealWorld Int (Labda UniType)) [(Int, Bag (Int, Labda UniType))] (_State _RealWorld) Int #-}
28 data TcResult a         {-# GHC_PRAGMA TcSucceeded a Subst (Bag (PprStyle -> Int -> Bool -> PrettyRep)) | TcFailed Subst (Bag (PprStyle -> Int -> Bool -> PrettyRep)) #-}
29 data UniqueSupply       {-# GHC_PRAGMA MkUniqueSupply Int# | MkNewSupply SplitUniqSupply #-}
30 disambiguateDicts :: [Inst] -> (GlobalSwitch -> Bool) -> [UniType] -> Subst -> SplitUniqSupply -> Bag (PprStyle -> Int -> Bool -> PrettyRep) -> SrcLoc -> TcResult ()
31         {-# GHC_PRAGMA _A_ 1 _U_ 1222222 _N_ _S_ "S" _N_ _N_ #-}
32