--------------------------------------------------------------------------- -- PrelGHC.hi-boot -- -- This hand-written interface file allows you to bring into scope the -- primitive operations and types that GHC knows about. --------------------------------------------------------------------------- __interface PrelGHC 2 0 where __export PrelGHC ZLzmzgZR -- (->) All -- Pseudo class used for universal quantification CCallable CReturnable -- Magical assert thingy assert -- constructor tags tagToEnumzh getTagzh dataToTagzh -- I/O primitives RealWorld realWorldzh Statezh -- Concurrency primitives ThreadIdzh myThreadIdzh forkzh yieldzh killThreadzh blockAsyncExceptionszh unblockAsyncExceptionszh delayzh waitReadzh waitWritezh -- MVars MVarzh sameMVarzh newMVarzh takeMVarzh putMVarzh isEmptyMVarzh -- Parallel seqzh parzh parGlobalzh parLocalzh parAtzh parAtAbszh parAtRelzh parAtForNowzh -- Character Type Charzh gtCharzh geCharzh eqCharzh neCharzh ltCharzh leCharzh ordzh chrzh -- Int Type Intzh zgzh zgzezh zezezh zszezh zlzh zlzezh zpzh zmzh ztzh zszh quotIntzh remIntzh gcdIntzh negateIntzh iShiftLzh iShiftRAzh iShiftRLzh addIntCzh subIntCzh mulIntCzh Wordzh gtWordzh geWordzh eqWordzh neWordzh ltWordzh leWordzh quotWordzh remWordzh andzh orzh notzh xorzh shiftLzh -- shiftRAzh shiftRLzh int2Wordzh word2Intzh Word64zh Int64zh Addrzh gtAddrzh geAddrzh eqAddrzh neAddrzh ltAddrzh leAddrzh int2Addrzh addr2Intzh addr2Integerzh Floatzh gtFloatzh geFloatzh eqFloatzh neFloatzh ltFloatzh leFloatzh plusFloatzh minusFloatzh timesFloatzh divideFloatzh negateFloatzh float2Intzh int2Floatzh expFloatzh logFloatzh sqrtFloatzh sinFloatzh cosFloatzh tanFloatzh asinFloatzh acosFloatzh atanFloatzh sinhFloatzh coshFloatzh tanhFloatzh powerFloatzh decodeFloatzh Doublezh zgzhzh zgzezhzh zezezhzh zszezhzh zlzhzh zlzezhzh zpzhzh zmzhzh ztzhzh zszhzh negateDoublezh double2Intzh int2Doublezh double2Floatzh float2Doublezh expDoublezh logDoublezh sqrtDoublezh sinDoublezh cosDoublezh tanDoublezh asinDoublezh acosDoublezh atanDoublezh sinhDoublezh coshDoublezh tanhDoublezh ztztzhzh decodeDoublezh cmpIntegerzh cmpIntegerIntzh plusIntegerzh minusIntegerzh timesIntegerzh gcdIntegerzh quotIntegerzh remIntegerzh gcdIntegerzh gcdIntegerIntzh divExactIntegerzh quotRemIntegerzh divModIntegerzh integer2Intzh integer2Wordzh int2Integerzh word2Integerzh integerToInt64zh integerToWord64zh int64ToIntegerzh word64ToIntegerzh Arrayzh ByteArrayzh MutableArrayzh MutableByteArrayzh sameMutableArrayzh sameMutableByteArrayzh newArrayzh newCharArrayzh newIntArrayzh newWordArrayzh newFloatArrayzh newDoubleArrayzh newAddrArrayzh newStablePtrArrayzh indexArrayzh indexCharArrayzh indexIntArrayzh indexWordArrayzh indexFloatArrayzh indexDoubleArrayzh indexAddrArrayzh indexStablePtrArrayzh indexInt64Arrayzh indexWord64Arrayzh -- indexOffAddrzh indexCharOffAddrzh indexIntOffAddrzh indexWordOffAddrzh indexAddrOffAddrzh indexFloatOffAddrzh indexDoubleOffAddrzh indexStablePtrOffAddrzh indexInt64OffAddrzh indexWord64OffAddrzh writeCharOffAddrzh writeIntOffAddrzh writeWordOffAddrzh writeAddrOffAddrzh writeForeignObjOffAddrzh writeFloatOffAddrzh writeDoubleOffAddrzh writeStablePtrOffAddrzh writeInt64OffAddrzh writeWord64OffAddrzh -- indexOffForeignObjzh indexCharOffForeignObjzh indexIntOffForeignObjzh indexWordOffForeignObjzh indexAddrOffForeignObjzh indexFloatOffForeignObjzh indexDoubleOffForeignObjzh indexStablePtrOffForeignObjzh indexInt64OffForeignObjzh indexWord64OffForeignObjzh writeArrayzh writeCharArrayzh writeIntArrayzh writeWordArrayzh writeFloatArrayzh writeDoubleArrayzh writeAddrArrayzh writeStablePtrArrayzh writeInt64Arrayzh writeWord64Arrayzh readArrayzh readCharArrayzh readIntArrayzh readWordArrayzh readFloatArrayzh readDoubleArrayzh readAddrArrayzh readStablePtrArrayzh readInt64Arrayzh readWord64Arrayzh unsafeFreezzeArrayzh -- Note zz in the middle unsafeFreezzeByteArrayzh -- Ditto unsafeThawArrayzh unsafeThawByteArrayzh sizzeofByteArrayzh -- Ditto sizzeofMutableByteArrayzh -- Ditto MutVarzh newMutVarzh readMutVarzh writeMutVarzh sameMutVarzh catchzh raisezh Weakzh mkWeakzh deRefWeakzh finalizzeWeakzh ForeignObjzh makeForeignObjzh writeForeignObjzh StablePtrzh makeStablePtrzh deRefStablePtrzh eqStablePtrzh StableNamezh makeStableNamezh eqStableNamezh stableNameToIntzh reallyUnsafePtrEqualityzh unsafeCoercezh ; instance {CCallable Charzh} = zdfCCallableCharzh; instance {CCallable Doublezh} = zdfCCallableDoublezh; instance {CCallable Floatzh} = zdfCCallableFloatzh; instance {CCallable Intzh} = zdfCCallableIntzh; instance {CCallable Addrzh} = zdfCCallableAddrzh; instance {CCallable Int64zh} = zdfCCallableInt64zh; instance {CCallable Word64zh} = zdfCCallableWord64zh; instance {CCallable Wordzh} = zdfCCallableWordzh; instance {CCallable ByteArrayzh} = zdfCCallableByteArrayzh; instance __forall [s] => {CCallable (MutableByteArrayzh s)} = zdfCCallableMutableByteArrayzh; instance {CCallable ForeignObjzh} = zdfCCallableForeignObjzh; instance __forall [s] => {CCallable (StablePtrzh s)} = zdfCCallableStablePtrzh; -- CCallable and CReturnable have kind (Type AnyBox) so that -- things like Int# can be instances of CCallable. 1 class CCallable a :: ? ; 1 class CReturnable a :: ? ; 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ; -- These guys don't really exist: -- 1 zdfCCallableCharzh :: {CCallable Charzh} ; 1 zdfCCallableDoublezh :: {CCallable Doublezh} ; 1 zdfCCallableFloatzh :: {CCallable Floatzh} ; 1 zdfCCallableIntzh :: {CCallable Intzh} ; 1 zdfCCallableAddrzh :: {CCallable Addrzh} ; 1 zdfCCallableInt64zh :: {CCallable Int64zh} ; 1 zdfCCallableWord64zh :: {CCallable Word64zh} ; 1 zdfCCallableWordzh :: {CCallable Wordzh} ; 1 zdfCCallableByteArrayzh :: {CCallable ByteArrayzh} ; 1 zdfCCallableMutableByteArrayzh :: __forall [s] => {CCallable (MutableByteArrayzh s)} ; 1 zdfCCallableForeignObjzh :: {CCallable ForeignObjzh} ; 1 zdfCCallableStablePtrzh :: __forall [a] => {CCallable (StablePtrzh a)} ;