{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface AbsPrel where import Class(Class) import CmdLineOpts(GlobalSwitch) import CoreSyn(CoreExpr) import HeapOffs(HeapOffset) import Id(Id) import Maybes(Labda) import Name(Name) import NameTypes(FullName, ShortName) import Outputable(NamedThing, Outputable) import PlainCore(PlainCoreExpr(..)) import PrelFuns(gLASGOW_MISC, gLASGOW_ST, pRELUDE, pRELUDE_BUILTIN, pRELUDE_CORE, pRELUDE_IO, pRELUDE_LIST, pRELUDE_PRIMIO, pRELUDE_PS, pRELUDE_RATIO, pRELUDE_TEXT) import PrelVals(aBSENT_ERROR_ID, buildId, eRROR_ID, foldlId, foldrId, integerMinusOneId, integerPlusOneId, integerZeroId, mkBuild, mkFoldl, mkFoldr, pAT_ERROR_ID, packStringForCId, realWorldPrimId, unpackCString2Id, unpackCStringAppendId, unpackCStringId, voidPrimId) import PreludePS(_PackedString) import Pretty(PprStyle, PrettyRep) import PrimKind(PrimKind) import PrimOps(HeapRequirement(..), PrimOp(..), PrimOpResultInfo(..), fragilePrimOp, getPrimOpResultInfo, isCompareOp, pprPrimOp, primOpCanTriggerGC, primOpHeapReq, primOpIsCheap, primOpNameInfo, primOpNeedsWrapper, primOpOkForSpeculation, showPrimOp, typeOfPrimOp) import TyCon(TyCon) import TyVar(TyVar, TyVarTemplate) import TysPrim(addrPrimTy, addrPrimTyCon, charPrimTy, charPrimTyCon, doublePrimTy, doublePrimTyCon, floatPrimTy, floatPrimTyCon, intPrimTy, intPrimTyCon, realWorldStatePrimTy, realWorldTy, realWorldTyCon, voidPrimTy, wordPrimTy, wordPrimTyCon) import TysWiredIn(addrDataCon, addrTy, addrTyCon, boolTy, boolTyCon, charDataCon, charTy, charTyCon, cmpTagTy, consDataCon, doubleDataCon, doubleTy, doubleTyCon, eqPrimDataCon, falseDataCon, floatDataCon, floatTy, floatTyCon, getStatePairingConInfo, gtPrimDataCon, intDataCon, intTy, intTyCon, integerDataCon, integerTy, integerTyCon, liftDataCon, liftTyCon, listTyCon, ltPrimDataCon, mkLiftTy, mkListTy, mkPrimIoTy, mkTupleTy, nilDataCon, ratioDataCon, rationalTy, rationalTyCon, realWorldStateTy, stateDataCon, stringTy, trueDataCon, unitTy, wordDataCon, wordTy, wordTyCon) import UniType(TauType(..), UniType) import Unique(Unique) data GlobalSwitch data CoreExpr a b data HeapOffset data Id data Labda a data Name type PlainCoreExpr = CoreExpr Id Id data PprStyle data PrimKind data HeapRequirement = NoHeapRequired | FixedHeapRequired HeapOffset | VariableHeapRequired data PrimOp = CharGtOp | CharGeOp | CharEqOp | CharNeOp | CharLtOp | CharLeOp | IntGtOp | IntGeOp | IntEqOp | IntNeOp | IntLtOp | IntLeOp | WordGtOp | WordGeOp | WordEqOp | WordNeOp | WordLtOp | WordLeOp | AddrGtOp | AddrGeOp | AddrEqOp | AddrNeOp | AddrLtOp | AddrLeOp | FloatGtOp | FloatGeOp | FloatEqOp | FloatNeOp | FloatLtOp | FloatLeOp | DoubleGtOp | DoubleGeOp | DoubleEqOp | DoubleNeOp | DoubleLtOp | DoubleLeOp | OrdOp | ChrOp | IntAddOp | IntSubOp | IntMulOp | IntQuotOp | IntDivOp | IntRemOp | IntNegOp | IntAbsOp | AndOp | OrOp | NotOp | SllOp | SraOp | SrlOp | ISllOp | ISraOp | ISrlOp | Int2WordOp | Word2IntOp | Int2AddrOp | Addr2IntOp | FloatAddOp | FloatSubOp | FloatMulOp | FloatDivOp | FloatNegOp | Float2IntOp | Int2FloatOp | FloatExpOp | FloatLogOp | FloatSqrtOp | FloatSinOp | FloatCosOp | FloatTanOp | FloatAsinOp | FloatAcosOp | FloatAtanOp | FloatSinhOp | FloatCoshOp | FloatTanhOp | FloatPowerOp | DoubleAddOp | DoubleSubOp | DoubleMulOp | DoubleDivOp | DoubleNegOp | Double2IntOp | Int2DoubleOp | Double2FloatOp | Float2DoubleOp | DoubleExpOp | DoubleLogOp | DoubleSqrtOp | DoubleSinOp | DoubleCosOp | DoubleTanOp | DoubleAsinOp | DoubleAcosOp | DoubleAtanOp | DoubleSinhOp | DoubleCoshOp | DoubleTanhOp | DoublePowerOp | IntegerAddOp | IntegerSubOp | IntegerMulOp | IntegerQuotRemOp | IntegerDivModOp | IntegerNegOp | IntegerCmpOp | Integer2IntOp | Int2IntegerOp | Word2IntegerOp | Addr2IntegerOp | FloatEncodeOp | FloatDecodeOp | DoubleEncodeOp | DoubleDecodeOp | NewArrayOp | NewByteArrayOp PrimKind | SameMutableArrayOp | SameMutableByteArrayOp | ReadArrayOp | WriteArrayOp | IndexArrayOp | ReadByteArrayOp PrimKind | WriteByteArrayOp PrimKind | IndexByteArrayOp PrimKind | IndexOffAddrOp PrimKind | UnsafeFreezeArrayOp | UnsafeFreezeByteArrayOp | NewSynchVarOp | TakeMVarOp | PutMVarOp | ReadIVarOp | WriteIVarOp | MakeStablePtrOp | DeRefStablePtrOp | CCallOp _PackedString Bool Bool [UniType] UniType | ErrorIOPrimOp | ReallyUnsafePtrEqualityOp | SeqOp | ParOp | ForkOp | DelayOp | WaitOp data PrimOpResultInfo = ReturnsPrim PrimKind | ReturnsAlg TyCon data TyCon type TauType = UniType data UniType data Unique gLASGOW_MISC :: _PackedString gLASGOW_ST :: _PackedString pRELUDE :: _PackedString pRELUDE_BUILTIN :: _PackedString pRELUDE_CORE :: _PackedString pRELUDE_IO :: _PackedString pRELUDE_LIST :: _PackedString pRELUDE_PRIMIO :: _PackedString pRELUDE_PS :: _PackedString pRELUDE_RATIO :: _PackedString pRELUDE_TEXT :: _PackedString aBSENT_ERROR_ID :: Id buildId :: Id eRROR_ID :: Id foldlId :: Id foldrId :: Id integerMinusOneId :: Id integerPlusOneId :: Id integerZeroId :: Id mkBuild :: UniType -> TyVar -> Id -> Id -> Id -> CoreExpr Id Id -> CoreExpr Id Id mkFoldl :: UniType -> UniType -> Id -> Id -> Id -> CoreExpr a Id mkFoldr :: UniType -> UniType -> Id -> Id -> Id -> CoreExpr a Id fragilePrimOp :: PrimOp -> Bool getPrimOpResultInfo :: PrimOp -> PrimOpResultInfo isCompareOp :: PrimOp -> Bool addrPrimTy :: UniType addrPrimTyCon :: TyCon charPrimTy :: UniType charPrimTyCon :: TyCon doublePrimTy :: UniType doublePrimTyCon :: TyCon floatPrimTy :: UniType floatPrimTyCon :: TyCon intPrimTy :: UniType intPrimTyCon :: TyCon addrDataCon :: Id addrTy :: UniType addrTyCon :: TyCon boolTy :: UniType boolTyCon :: TyCon builtinNameInfo :: (GlobalSwitch -> Bool) -> (_PackedString -> Labda Name, _PackedString -> Labda Name) charDataCon :: Id charTy :: UniType charTyCon :: TyCon cmpTagTy :: UniType consDataCon :: Id doubleDataCon :: Id doubleTy :: UniType doubleTyCon :: TyCon eqPrimDataCon :: Id falseDataCon :: Id floatDataCon :: Id floatTy :: UniType floatTyCon :: TyCon getStatePairingConInfo :: UniType -> (Id, UniType) gtPrimDataCon :: Id intDataCon :: Id intTy :: UniType intTyCon :: TyCon integerDataCon :: Id integerTy :: UniType integerTyCon :: TyCon liftDataCon :: Id liftTyCon :: TyCon listTyCon :: TyCon ltPrimDataCon :: Id mkFunTy :: UniType -> UniType -> UniType pAT_ERROR_ID :: Id packStringForCId :: Id realWorldPrimId :: Id unpackCString2Id :: Id unpackCStringAppendId :: Id unpackCStringId :: Id voidPrimId :: Id pprPrimOp :: PprStyle -> PrimOp -> Int -> Bool -> PrettyRep primOpCanTriggerGC :: PrimOp -> Bool primOpHeapReq :: PrimOp -> HeapRequirement primOpIsCheap :: PrimOp -> Bool primOpNameInfo :: PrimOp -> (_PackedString, Name) primOpNeedsWrapper :: PrimOp -> Bool primOpOkForSpeculation :: PrimOp -> Bool showPrimOp :: PprStyle -> PrimOp -> [Char] typeOfPrimOp :: PrimOp -> UniType realWorldStatePrimTy :: UniType realWorldTy :: UniType realWorldTyCon :: TyCon voidPrimTy :: UniType wordPrimTy :: UniType wordPrimTyCon :: TyCon mkLiftTy :: UniType -> UniType mkListTy :: UniType -> UniType mkPrimIoTy :: UniType -> UniType mkTupleTy :: Int -> [UniType] -> UniType nilDataCon :: Id ratioDataCon :: Id rationalTy :: UniType rationalTyCon :: TyCon readUnfoldingPrimOp :: _PackedString -> PrimOp realWorldStateTy :: UniType stateDataCon :: Id stringTy :: UniType trueDataCon :: Id unitTy :: UniType wordDataCon :: Id wordTy :: UniType wordTyCon :: TyCon instance Eq GlobalSwitch instance Eq Id instance Eq PrimKind instance Eq PrimOp instance Eq TyCon instance Eq Unique instance Ord GlobalSwitch instance Ord Id instance Ord PrimKind instance Ord TyCon instance Ord Unique instance NamedThing Id instance NamedThing TyCon instance Outputable Id instance Outputable PrimKind instance Outputable PrimOp instance Outputable TyCon instance Text Unique