[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / abstractSyn / AbsSynFuns.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface AbsSynFuns where
3 import HsBinds(Bind, Binds, MonoBinds)
4 import HsDecls(ClassDecl, FixityDecl, InstDecl)
5 import HsExpr(Expr, Qual)
6 import HsImpExp(IE)
7 import HsPat(InPat, TypecheckedPat)
8 import HsTypes(MonoType)
9 import Id(Id)
10 import Maybes(Labda)
11 import Name(Name)
12 import PreludePS(_PackedString)
13 import ProtoName(ProtoName)
14 import RenameAuxFuns(PreludeNameFun(..))
15 import SrcLoc(SrcLoc)
16 import TyVar(TyVar)
17 import UniType(UniType)
18 type PreludeNameFun = _PackedString -> Labda Name
19 cmpInstanceTypes :: MonoType ProtoName -> MonoType ProtoName -> Int#
20         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
21 collectBinders :: Bind a (InPat a) -> [a]
22         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
23 collectMonoBinders :: MonoBinds a (InPat a) -> [a]
24         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
25 collectMonoBindersAndLocs :: MonoBinds a (InPat a) -> [(a, SrcLoc)]
26         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
27 collectPatBinders :: InPat a -> [a]
28         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
29 collectQualBinders :: [Qual Name (InPat Name)] -> [Name]
30         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
31 collectTopLevelBinders :: Binds a (InPat a) -> [a]
32         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
33 collectTypedBinders :: Bind Id TypecheckedPat -> [Id]
34         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
35 collectTypedPatBinders :: TypecheckedPat -> [Id]
36         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
37 extractMonoTyNames :: (a -> a -> Bool) -> MonoType a -> [a]
38         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
39 getMentionedVars :: (_PackedString -> Labda Name) -> [IE] -> [FixityDecl ProtoName] -> [ClassDecl ProtoName (InPat ProtoName)] -> [InstDecl ProtoName (InPat ProtoName)] -> Binds ProtoName (InPat ProtoName) -> (Bool, [_PackedString])
40         {-# GHC_PRAGMA _A_ 6 _U_ 210111 _N_ _S_ "LSALLL" {_A_ 5 _U_ 21111 _N_ _N_ _N_ _N_} _N_ _N_ #-}
41 getNonPrelOuterTyCon :: MonoType ProtoName -> Labda ProtoName
42         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 10 \ (u0 :: MonoType ProtoName) -> case u0 of { _ALG_ _ORIG_ HsTypes MonoTyCon (u1 :: ProtoName) (u2 :: [MonoType ProtoName]) -> _!_ _ORIG_ Maybes Ni [ProtoName] [u1]; (u3 :: MonoType ProtoName) -> _!_ _ORIG_ Maybes Hamna [ProtoName] [] } _N_ #-}
43 mkDictApp :: Expr Id TypecheckedPat -> [Id] -> Expr Id TypecheckedPat
44         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _IF_ARGS_ 0 2 XC 6 \ (u0 :: Expr Id TypecheckedPat) (u1 :: [Id]) -> case u1 of { _ALG_ (:) (u2 :: Id) (u3 :: [Id]) -> _!_ _ORIG_ HsExpr DictApp [Id, TypecheckedPat] [u0, u1]; _NIL_  -> u0; _NO_DEFLT_ } _N_ #-}
45 mkDictLam :: [Id] -> Expr Id TypecheckedPat -> Expr Id TypecheckedPat
46         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _F_ _IF_ARGS_ 0 2 CX 6 \ (u0 :: [Id]) (u1 :: Expr Id TypecheckedPat) -> case u0 of { _ALG_ (:) (u2 :: Id) (u3 :: [Id]) -> _!_ _ORIG_ HsExpr DictLam [Id, TypecheckedPat] [u0, u1]; _NIL_  -> u1; _NO_DEFLT_ } _N_ #-}
47 mkTyApp :: Expr Id TypecheckedPat -> [UniType] -> Expr Id TypecheckedPat
48         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _IF_ARGS_ 0 2 XC 6 \ (u0 :: Expr Id TypecheckedPat) (u1 :: [UniType]) -> case u1 of { _ALG_ (:) (u2 :: UniType) (u3 :: [UniType]) -> _!_ _ORIG_ HsExpr TyApp [Id, TypecheckedPat] [u0, u1]; _NIL_  -> u0; _NO_DEFLT_ } _N_ #-}
49 mkTyLam :: [TyVar] -> Expr Id TypecheckedPat -> Expr Id TypecheckedPat
50         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _F_ _IF_ARGS_ 0 2 CX 6 \ (u0 :: [TyVar]) (u1 :: Expr Id TypecheckedPat) -> case u0 of { _ALG_ (:) (u2 :: TyVar) (u3 :: [TyVar]) -> _!_ _ORIG_ HsExpr TyLam [Id, TypecheckedPat] [u0, u1]; _NIL_  -> u1; _NO_DEFLT_ } _N_ #-}
51