---------------------------------------------------------------------------
--- 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 "std" 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
- realWorld#
- State#
+ realWorldzh
+ Statezh
-- Concurrency primitives
- ThreadId#
- fork#
- killThread#
- delay#
- waitRead#
- waitWrite#
+ ThreadIdzh
+ myThreadIdzh
+ forkzh
+ yieldzh
+ killThreadzh
+ blockAsyncExceptionszh
+ unblockAsyncExceptionszh
+ delayzh
+ waitReadzh
+ waitWritezh
-- MVars
- MVar#
- sameMVar#
- newMVar#
- takeMVar#
- putMVar#
- isEmptyMVar#
+ MVarzh
+ sameMVarzh
+ newMVarzh
+ takeMVarzh
+ putMVarzh
+ takeMaybeMVarzh
+ isEmptyMVarzh
-- Parallel
- seq#
- par#
- parGlobal#
- parLocal#
- parAt#
- parAtAbs#
- parAtRel#
- parAtForNow#
+ seqzh
+ parzh
+ parGlobalzh
+ parLocalzh
+ parAtzh
+ parAtAbszh
+ parAtRelzh
+ parAtForNowzh
-- Character Type
- Char#
- gtChar#
- geChar#
- eqChar#
- neChar#
- ltChar#
- leChar#
- ord#
- chr#
+ Charzh
+ gtCharzh
+ geCharzh
+ eqCharzh
+ neCharzh
+ ltCharzh
+ leCharzh
+ ordzh
+ chrzh
-- Int Type
- Int#
- >#
- >=#
- ==#
- /=#
- <#
- <=#
- +#
- -#
- *#
- quotInt#
- remInt#
- negateInt#
- iShiftL#
- iShiftRA#
- iShiftRL#
+ Intzh
+ zgzh
+ zgzezh
+ zezezh
+ zszezh
+ zlzh
+ zlzezh
+ zpzh
+ zmzh
+ ztzh
+ quotIntzh
+ remIntzh
+ gcdIntzh
+ negateIntzh
+ iShiftLzh
+ iShiftRAzh
+ iShiftRLzh
+ addIntCzh
+ subIntCzh
+ mulIntCzh
- Word#
- gtWord#
- geWord#
- eqWord#
- neWord#
- ltWord#
- leWord#
- quotWord#
- remWord#
- and#
- or#
- not#
- xor#
- shiftL#
- shiftRL#
- int2Word#
- word2Int#
+ Wordzh
+ gtWordzh
+ geWordzh
+ eqWordzh
+ neWordzh
+ ltWordzh
+ leWordzh
+ quotWordzh
+ remWordzh
+ andzh
+ orzh
+ notzh
+ xorzh
+ shiftLzh
+-- shiftRAzh
+ shiftRLzh
+ int2Wordzh
+ word2Intzh
- Word64#
+ Word64zh
- Int64#
+ Int64zh
- Addr#
- gtAddr#
- geAddr#
- eqAddr#
- neAddr#
- ltAddr#
- leAddr#
- int2Addr#
- addr2Int#
- addr2Integer#
+ Addrzh
+ gtAddrzh
+ geAddrzh
+ eqAddrzh
+ neAddrzh
+ ltAddrzh
+ leAddrzh
+ int2Addrzh
+ addr2Intzh
+ addr2Integerzh
- Float#
- gtFloat#
- geFloat#
- eqFloat#
- neFloat#
- ltFloat#
- leFloat#
- plusFloat#
- minusFloat#
- timesFloat#
- divideFloat#
- negateFloat#
- float2Int#
- int2Float#
- expFloat#
- logFloat#
- sqrtFloat#
- sinFloat#
- cosFloat#
- tanFloat#
- asinFloat#
- acosFloat#
- atanFloat#
- sinhFloat#
- coshFloat#
- tanhFloat#
- powerFloat#
- decodeFloat#
- encodeFloat#
+ 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
- Double#
- >##
- >=##
- ==##
- /=##
- <##
- <=##
- +##
- -##
- *##
- /##
- negateDouble#
- double2Int#
- int2Double#
- double2Float#
- float2Double#
- expDouble#
- logDouble#
- sqrtDouble#
- sinDouble#
- cosDouble#
- tanDouble#
- asinDouble#
- acosDouble#
- atanDouble#
- sinhDouble#
- coshDouble#
- tanhDouble#
- **##
- decodeDouble#
- encodeDouble#
+ cmpIntegerzh
+ cmpIntegerIntzh
+ plusIntegerzh
+ minusIntegerzh
+ timesIntegerzh
+ gcdIntegerzh
+ quotIntegerzh
+ remIntegerzh
+ gcdIntegerzh
+ gcdIntegerIntzh
+ divExactIntegerzh
+ quotRemIntegerzh
+ divModIntegerzh
+ integer2Intzh
+ integer2Wordzh
+ int2Integerzh
+ word2Integerzh
+ integerToInt64zh
+ integerToWord64zh
+ int64ToIntegerzh
+ word64ToIntegerzh
- cmpInteger#
- negateInteger#
- plusInteger#
- minusInteger#
- timesInteger#
- quotRemInteger#
- integer2Int#
- integer2Word#
- int2Integer#
- word2Integer#
- integerToInt64#
- integerToWord64#
- int64ToInteger#
- word64ToInteger#
+ Arrayzh
+ ByteArrayzh
+ MutableArrayzh
+ MutableByteArrayzh
- Array#
- ByteArray#
- MutableArray#
- MutableByteArray#
+ sameMutableArrayzh
+ sameMutableByteArrayzh
- sameMutableArray#
- sameMutableByteArray#
+ newArrayzh
+ newCharArrayzh
+ newIntArrayzh
+ newWordArrayzh
+ newFloatArrayzh
+ newDoubleArrayzh
+ newAddrArrayzh
+ newStablePtrArrayzh
- newArray#
- newCharArray#
- newIntArray#
- newWordArray#
- newFloatArray#
- newDoubleArray#
- newAddrArray#
- newStablePtrArray#
+ indexArrayzh
+ indexCharArrayzh
+ indexIntArrayzh
+ indexWordArrayzh
+ indexFloatArrayzh
+ indexDoubleArrayzh
+ indexAddrArrayzh
+ indexStablePtrArrayzh
+ indexInt64Arrayzh
+ indexWord64Arrayzh
- indexArray#
- indexCharArray#
- indexIntArray#
- indexWordArray#
- indexFloatArray#
- indexDoubleArray#
- indexAddrArray#
- indexStablePtrArray#
- indexInt64Array#
- indexWord64Array#
+-- indexOffAddrzh
+ indexCharOffAddrzh
+ indexIntOffAddrzh
+ indexWordOffAddrzh
+ indexAddrOffAddrzh
+ indexFloatOffAddrzh
+ indexDoubleOffAddrzh
+ indexStablePtrOffAddrzh
+ indexInt64OffAddrzh
+ indexWord64OffAddrzh
--- indexOffAddr#
-indexCharOffAddr#
-indexIntOffAddr#
-indexWordOffAddr#
-indexAddrOffAddr#
-indexFloatOffAddr#
-indexDoubleOffAddr#
-indexStablePtrOffAddr#
-indexInt64OffAddr#
-indexWord64OffAddr#
+ readCharOffAddrzh
+ readIntOffAddrzh
+ readWordOffAddrzh
+ readAddrOffAddrzh
+ readFloatOffAddrzh
+ readDoubleOffAddrzh
+ readStablePtrOffAddrzh
+ readInt64OffAddrzh
+ readWord64OffAddrzh
-writeCharOffAddr#
-writeIntOffAddr#
-writeWordOffAddr#
-writeAddrOffAddr#
-writeForeignObjOffAddr#
-writeFloatOffAddr#
-writeDoubleOffAddr#
-writeStablePtrOffAddr#
-writeInt64OffAddr#
-writeWord64OffAddr#
+ writeCharOffAddrzh
+ writeIntOffAddrzh
+ writeWordOffAddrzh
+ writeAddrOffAddrzh
+ writeForeignObjOffAddrzh
+ writeFloatOffAddrzh
+ writeDoubleOffAddrzh
+ writeStablePtrOffAddrzh
+ writeInt64OffAddrzh
+ writeWord64OffAddrzh
--- indexOffForeignObj#
-indexCharOffForeignObj#
-indexIntOffForeignObj#
-indexWordOffForeignObj#
-indexAddrOffForeignObj#
-indexFloatOffForeignObj#
-indexDoubleOffForeignObj#
-indexStablePtrOffForeignObj#
-indexInt64OffForeignObj#
-indexWord64OffForeignObj#
-
- writeArray#
- writeCharArray#
- writeIntArray#
- writeWordArray#
- writeFloatArray#
- writeDoubleArray#
- writeAddrArray#
- writeStablePtrArray#
- writeInt64Array#
- writeWord64Array#
+-- indexOffForeignObjzh
+ indexCharOffForeignObjzh
+ indexIntOffForeignObjzh
+ indexWordOffForeignObjzh
+ indexAddrOffForeignObjzh
+ indexFloatOffForeignObjzh
+ indexDoubleOffForeignObjzh
+ indexStablePtrOffForeignObjzh
+ indexInt64OffForeignObjzh
+ indexWord64OffForeignObjzh
- readArray#
- readCharArray#
- readIntArray#
- readWordArray#
- readFloatArray#
- readDoubleArray#
- readAddrArray#
- readStablePtrArray#
- readInt64Array#
- readWord64Array#
+ writeArrayzh
+ writeCharArrayzh
+ writeIntArrayzh
+ writeWordArrayzh
+ writeFloatArrayzh
+ writeDoubleArrayzh
+ writeAddrArrayzh
+ writeStablePtrArrayzh
+ writeInt64Arrayzh
+ writeWord64Arrayzh
- unsafeFreezeArray#
- unsafeFreezeByteArray#
-
- sizeofByteArray#
- sizeofMutableByteArray#
+ readArrayzh
+ readCharArrayzh
+ readIntArrayzh
+ readWordArrayzh
+ readFloatArrayzh
+ readDoubleArrayzh
+ readAddrArrayzh
+ readStablePtrArrayzh
+ readInt64Arrayzh
+ readWord64Arrayzh
- MutVar#
- newMutVar#
- readMutVar#
- writeMutVar#
- sameMutVar#
+ unsafeFreezzeArrayzh -- Note zz in the middle
+ unsafeFreezzeByteArrayzh -- Ditto
- catch#
- raise#
+ unsafeThawArrayzh
- Weak#
- mkWeak#
- deRefWeak#
-
- ForeignObj#
- makeForeignObj#
- writeForeignObj#
+ sizzeofByteArrayzh -- Ditto
+ sizzeofMutableByteArrayzh -- Ditto
+
+ MutVarzh
+ newMutVarzh
+ readMutVarzh
+ writeMutVarzh
+ sameMutVarzh
- StablePtr#
- makeStablePtr#
- deRefStablePtr#
- eqStablePtr#
- reallyUnsafePtrEquality#
+ catchzh
+ raisezh
- unsafeCoerce#
+ Weakzh
+ mkWeakzh
+ deRefWeakzh
+ finalizzeWeakzh
+
+ ForeignObjzh
+ mkForeignObjzh
+ 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)} ;