summaryrefslogtreecommitdiff
path: root/ghc/compiler/abstractSyn/HsTypes.hi
blob: 51cad264522f2e5cea44cc81119c70f4e83a9818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
interface HsTypes where
import Name(Name)
import Outputable(Outputable)
import Pretty(PprStyle, PrettyRep)
import ProtoName(ProtoName)
type ClassAssertion a = (a, a)
type Context a = [(a, a)]
data MonoType a   = MonoTyVar a | MonoTyCon a [MonoType a] | FunMonoTy (MonoType a) (MonoType a) | ListMonoTy (MonoType a) | TupleMonoTy [PolyType a] | MonoTyVarTemplate a | MonoDict a (MonoType a)
data PolyType a   = UnoverloadedTy (MonoType a) | OverloadedTy [(a, a)] (MonoType a) | ForAllTy [a] (MonoType a)
type ProtoNameContext = [(ProtoName, ProtoName)]
type ProtoNameMonoType = MonoType ProtoName
type ProtoNamePolyType = PolyType ProtoName
type RenamedContext = [(Name, Name)]
type RenamedMonoType = MonoType Name
type RenamedPolyType = PolyType Name
cmpList :: (a -> a -> Int#) -> [a] -> [a] -> Int#
	{-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSS" _N_ _N_ #-}
cmpMonoType :: (a -> a -> Int#) -> MonoType a -> MonoType a -> Int#
	{-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "LSS" _N_ _N_ #-}
cmpPolyType :: (a -> a -> Int#) -> PolyType a -> PolyType a -> Int#
	{-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "LSS" _N_ _N_ #-}
eqMonoType :: MonoType ProtoName -> MonoType ProtoName -> Bool
	{-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
pprContext :: Outputable a => PprStyle -> [(a, a)] -> Int -> Bool -> PrettyRep
	{-# GHC_PRAGMA _A_ 3 _U_ 22122 _N_ _S_ "LLS" _N_ _N_ #-}
pprParendMonoType :: Outputable a => PprStyle -> MonoType a -> Int -> Bool -> PrettyRep
	{-# GHC_PRAGMA _A_ 1 _U_ 22122 _N_ _N_ _N_ _N_ #-}
instance Outputable a => Outputable (MonoType a)
	{-# GHC_PRAGMA _M_ HsTypes {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
instance Outputable a => Outputable (PolyType a)
	{-# GHC_PRAGMA _M_ HsTypes {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}