-- primitive operations and types that GHC knows about.
---------------------------------------------------------------------------
-_interface_ PrelGHC 2
-_exports_
-PrelGHC
+__interface PrelGHC 2 0 where
+
+__export PrelGHC
+
->
All -- Pseudo class used for universal quantification
CCallable
CReturnable
- Void
--- void CAF is defined in PrelBase
+-- Magical assert thingy
+ assert
--- I/O primitives
+ -- I/O primitives
RealWorld
realWorld#
State#
+ -- Concurrency primitives
+ ThreadId#
fork#
- delay#
+ killThread#
+ delay#
+ waitRead#
+ waitWrite#
+
+ -- MVars
+ MVar#
+ sameMVar#
+ newMVar#
+ takeMVar#
+ putMVar#
+ isEmptyMVar#
+
+ -- Parallel
seq#
par#
parGlobal#
parAtRel#
parAtForNow#
- SynchVar#
- newSynchVar#
- takeMVar#
- putMVar#
- waitRead#
- waitWrite#
-
- errorIO#
-
+ -- Character Type
Char#
gtChar#
geChar#
ord#
chr#
+ -- Int Type
Int#
>#
>=#
+#
-#
*#
- /#
quotInt#
remInt#
negateInt#
not#
xor#
shiftL#
- shiftRA#
shiftRL#
int2Word#
word2Int#
+ Word64#
+
+ Int64#
+
Addr#
gtAddr#
geAddr#
leAddr#
int2Addr#
addr2Int#
-
+ addr2Integer#
+
Float#
gtFloat#
geFloat#
timesInteger#
quotRemInteger#
integer2Int#
+ integer2Word#
int2Integer#
word2Integer#
+ integerToInt64#
+ integerToWord64#
+ int64ToInteger#
+ word64ToInteger#
Array#
ByteArray#
newArray#
newCharArray#
newIntArray#
+ newWordArray#
newFloatArray#
newDoubleArray#
newAddrArray#
+ newStablePtrArray#
indexArray#
indexCharArray#
indexIntArray#
+ indexWordArray#
indexFloatArray#
indexDoubleArray#
indexAddrArray#
+ indexStablePtrArray#
+ indexInt64Array#
+ indexWord64Array#
-- indexOffAddr#
indexCharOffAddr#
indexIntOffAddr#
+indexWordOffAddr#
indexAddrOffAddr#
indexFloatOffAddr#
indexDoubleOffAddr#
+indexStablePtrOffAddr#
+indexInt64OffAddr#
+indexWord64OffAddr#
+
+writeCharOffAddr#
+writeIntOffAddr#
+writeWordOffAddr#
+writeAddrOffAddr#
+writeForeignObjOffAddr#
+writeFloatOffAddr#
+writeDoubleOffAddr#
+writeStablePtrOffAddr#
+writeInt64OffAddr#
+writeWord64OffAddr#
-- indexOffForeignObj#
indexCharOffForeignObj#
indexIntOffForeignObj#
+indexWordOffForeignObj#
indexAddrOffForeignObj#
indexFloatOffForeignObj#
indexDoubleOffForeignObj#
+indexStablePtrOffForeignObj#
+indexInt64OffForeignObj#
+indexWord64OffForeignObj#
writeArray#
writeCharArray#
writeIntArray#
+ writeWordArray#
writeFloatArray#
writeDoubleArray#
writeAddrArray#
+ writeStablePtrArray#
+ writeInt64Array#
+ writeWord64Array#
readArray#
readCharArray#
readIntArray#
+ readWordArray#
readFloatArray#
readDoubleArray#
readAddrArray#
+ readStablePtrArray#
+ readInt64Array#
+ readWord64Array#
unsafeFreezeArray#
unsafeFreezeByteArray#
+ sizeofByteArray#
+ sizeofMutableByteArray#
+
+ MutVar#
+ newMutVar#
+ readMutVar#
+ writeMutVar#
+ sameMutVar#
+
+ catch#
+ raise#
+
+ Weak#
+ mkWeak#
+ deRefWeak#
+
ForeignObj#
makeForeignObj#
writeForeignObj#
-
+
StablePtr#
makeStablePtr#
deRefStablePtr#
+ eqStablePtr#
reallyUnsafePtrEquality#
+
+ unsafeCoerce#
;
-_declarations_
+-- 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 class CCallable a :: ** ;
-1 class CReturnable a :: ** ;
+1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;