---------------------------------------------------------------------------
--- GHC.hi
+-- 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
+__interface "rts" PrelGHC 1 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
forkzh
yieldzh
killThreadzh
+ blockAsyncExceptionszh
+ unblockAsyncExceptionszh
delayzh
waitReadzh
waitWritezh
newMVarzh
takeMVarzh
putMVarzh
+ tryTakeMVarzh
isEmptyMVarzh
-- Parallel
zpzh
zmzh
ztzh
- zszh
quotIntzh
remIntzh
+ gcdIntzh
negateIntzh
iShiftLzh
iShiftRAzh
leAddrzh
int2Addrzh
addr2Intzh
- addr2Integerzh
Floatzh
gtFloatzh
plusIntegerzh
minusIntegerzh
timesIntegerzh
+ gcdIntegerzh
+ quotIntegerzh
+ remIntegerzh
+ gcdIntegerzh
+ gcdIntegerIntzh
+ divExactIntegerzh
quotRemIntegerzh
+ divModIntegerzh
integer2Intzh
integer2Wordzh
int2Integerzh
integerToWord64zh
int64ToIntegerzh
word64ToIntegerzh
-
+ andIntegerzh
+ orIntegerzh
+ xorIntegerzh
+ complementIntegerzh
+
Arrayzh
ByteArrayzh
MutableArrayzh
sameMutableByteArrayzh
newArrayzh
- newCharArrayzh
- newIntArrayzh
- newWordArrayzh
- newFloatArrayzh
- newDoubleArrayzh
- newAddrArrayzh
- newStablePtrArrayzh
+ newByteArrayzh
indexArrayzh
indexCharArrayzh
indexDoubleArrayzh
indexAddrArrayzh
indexStablePtrArrayzh
+ indexInt8Arrayzh
+ indexInt16Arrayzh
+ indexInt32Arrayzh
indexInt64Arrayzh
+ indexWord8Arrayzh
+ indexWord16Arrayzh
+ indexWord32Arrayzh
indexWord64Arrayzh
-- indexOffAddrzh
indexFloatOffAddrzh
indexDoubleOffAddrzh
indexStablePtrOffAddrzh
+ indexInt8OffAddrzh
+ indexInt16OffAddrzh
+ indexInt32OffAddrzh
indexInt64OffAddrzh
+ indexWord8OffAddrzh
+ indexWord16OffAddrzh
+ indexWord32OffAddrzh
indexWord64OffAddrzh
+ readCharOffAddrzh
+ readIntOffAddrzh
+ readWordOffAddrzh
+ readAddrOffAddrzh
+ readFloatOffAddrzh
+ readDoubleOffAddrzh
+ readStablePtrOffAddrzh
+ readInt8OffAddrzh
+ readInt16OffAddrzh
+ readInt32OffAddrzh
+ readInt64OffAddrzh
+ readWord8OffAddrzh
+ readWord16OffAddrzh
+ readWord32OffAddrzh
+ readWord64OffAddrzh
+
writeCharOffAddrzh
writeIntOffAddrzh
writeWordOffAddrzh
writeFloatOffAddrzh
writeDoubleOffAddrzh
writeStablePtrOffAddrzh
+ writeInt8OffAddrzh
+ writeInt16OffAddrzh
+ writeInt32OffAddrzh
writeInt64OffAddrzh
+ writeWord8OffAddrzh
+ writeWord16OffAddrzh
+ writeWord32OffAddrzh
writeWord64OffAddrzh
-- indexOffForeignObjzh
indexFloatOffForeignObjzh
indexDoubleOffForeignObjzh
indexStablePtrOffForeignObjzh
+ indexInt8OffForeignObjzh
+ indexInt16OffForeignObjzh
+ indexInt32OffForeignObjzh
indexInt64OffForeignObjzh
+ indexWord8OffForeignObjzh
+ indexWord16OffForeignObjzh
+ indexWord32OffForeignObjzh
indexWord64OffForeignObjzh
writeArrayzh
writeDoubleArrayzh
writeAddrArrayzh
writeStablePtrArrayzh
+ writeInt8Arrayzh
+ writeInt16Arrayzh
+ writeInt32Arrayzh
writeInt64Arrayzh
+ writeWord8Arrayzh
+ writeWord16Arrayzh
+ writeWord32Arrayzh
writeWord64Arrayzh
readArrayzh
readDoubleArrayzh
readAddrArrayzh
readStablePtrArrayzh
+ readInt8Arrayzh
+ readInt16Arrayzh
+ readInt32Arrayzh
readInt64Arrayzh
+ readWord8Arrayzh
+ readWord16Arrayzh
+ readWord32Arrayzh
readWord64Arrayzh
unsafeFreezzeArrayzh -- Note zz in the middle
unsafeFreezzeByteArrayzh -- Ditto
unsafeThawArrayzh
- unsafeThawByteArrayzh
sizzeofByteArrayzh -- Ditto
sizzeofMutableByteArrayzh -- Ditto
finalizzeWeakzh
ForeignObjzh
- makeForeignObjzh
+ mkForeignObjzh
writeForeignObjzh
+ foreignObjToAddrzh
+ touchzh
StablePtrzh
makeStablePtrzh
eqStableNamezh
stableNameToIntzh
+ indexPtrOffClosurezh
+ indexWordOffClosurezh
+ setPtrOffClosurezh
+ setWordOffClosurezh
+
reallyUnsafePtrEqualityzh
+ newBCOzh
+ BCOzh
+ mkApUpd0zh
+
unsafeCoercezh
+ addrToHValuezh
;
+-- Export PrelErr.error, so that others don't have to import PrelErr
+__export PrelErr error ;
+
+
+--------------------------------------------------
+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 ;
+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)} ;