[project @ 2001-08-04 06:11:24 by ken]
[ghc-hetmet.git] / ghc / lib / std / PrelGHC.hi-boot
index 67d494f..ace6e25 100644 (file)
@@ -1,17 +1,16 @@
 ---------------------------------------------------------------------------
---                             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 1 0 where
 
 __export PrelGHC
 
   ZLzmzgZR     -- (->)
 
-  All  -- Pseudo class used for universal quantification
   CCallable
   CReturnable
 
@@ -20,6 +19,7 @@ __export PrelGHC
 
   -- constructor tags
   tagToEnumzh
+  getTagzh
   dataToTagzh
 
   -- I/O primitives
@@ -33,6 +33,8 @@ __export PrelGHC
   forkzh
   yieldzh
   killThreadzh
+  blockAsyncExceptionszh
+  unblockAsyncExceptionszh
   delayzh
   waitReadzh
   waitWritezh
@@ -43,8 +45,10 @@ __export PrelGHC
   newMVarzh
   takeMVarzh
   putMVarzh
+  tryTakeMVarzh
+  tryPutMVarzh
   isEmptyMVarzh
-  
+
   -- Parallel
   seqzh
   parzh
@@ -65,7 +69,7 @@ __export PrelGHC
   leCharzh
   ordzh
   chrzh
-  
+
   -- Int Type
   Intzh
   zgzh
@@ -77,9 +81,9 @@ __export PrelGHC
   zpzh
   zmzh
   ztzh
-  zszh
   quotIntzh
   remIntzh
+  gcdIntzh
   negateIntzh
   iShiftLzh
   iShiftRAzh
@@ -87,7 +91,7 @@ __export PrelGHC
   addIntCzh
   subIntCzh
   mulIntCzh
-  
+
   Wordzh
   gtWordzh
   geWordzh
@@ -95,6 +99,9 @@ __export PrelGHC
   neWordzh
   ltWordzh
   leWordzh
+  plusWordzh
+  minusWordzh
+  timesWordzh
   quotWordzh
   remWordzh
   andzh
@@ -102,14 +109,19 @@ __export PrelGHC
   notzh
   xorzh
   shiftLzh
---  shiftRAzh
   shiftRLzh
   int2Wordzh
   word2Intzh
-  
-  Word64zh
 
   Int64zh
+  Word64zh
+
+  intToInt8zh
+  intToInt16zh
+  intToInt32zh
+  wordToWord8zh
+  wordToWord16zh
+  wordToWord32zh
 
   Addrzh
   gtAddrzh
@@ -120,7 +132,6 @@ __export PrelGHC
   leAddrzh
   int2Addrzh
   addr2Intzh
-  addr2Integerzh
 
   Floatzh
   gtFloatzh
@@ -150,7 +161,7 @@ __export PrelGHC
   tanhFloatzh
   powerFloatzh
   decodeFloatzh
-  
+
   Doublezh
   zgzhzh
   zgzezhzh
@@ -181,13 +192,20 @@ __export PrelGHC
   tanhDoublezh
   ztztzhzh
   decodeDoublezh
-  
+
   cmpIntegerzh
   cmpIntegerIntzh
   plusIntegerzh
   minusIntegerzh
   timesIntegerzh
+  gcdIntegerzh
+  quotIntegerzh
+  remIntegerzh
+  gcdIntegerzh
+  gcdIntegerIntzh
+  divExactIntegerzh
   quotRemIntegerzh
+  divModIntegerzh
   integer2Intzh
   integer2Wordzh
   int2Integerzh
@@ -196,47 +214,112 @@ __export PrelGHC
   integerToWord64zh
   int64ToIntegerzh
   word64ToIntegerzh
-  
+  andIntegerzh
+  orIntegerzh
+  xorIntegerzh
+  complementIntegerzh
+
   Arrayzh
   ByteArrayzh
   MutableArrayzh
   MutableByteArrayzh
-  
+
   sameMutableArrayzh
   sameMutableByteArrayzh
-  
+
   newArrayzh
-  newCharArrayzh
-  newIntArrayzh
-  newWordArrayzh
-  newFloatArrayzh
-  newDoubleArrayzh
-  newAddrArrayzh
-  newStablePtrArrayzh
-  
+  newByteArrayzh
+
   indexArrayzh
   indexCharArrayzh
+  indexWideCharArrayzh
   indexIntArrayzh
   indexWordArrayzh
+  indexAddrArrayzh
   indexFloatArrayzh
   indexDoubleArrayzh
-  indexAddrArrayzh
   indexStablePtrArrayzh
+  indexInt8Arrayzh
+  indexInt16Arrayzh
+  indexInt32Arrayzh
   indexInt64Arrayzh
+  indexWord8Arrayzh
+  indexWord16Arrayzh
+  indexWord32Arrayzh
   indexWord64Arrayzh
-  
---  indexOffAddrzh
+
+  readArrayzh
+  readCharArrayzh
+  readWideCharArrayzh
+  readIntArrayzh
+  readWordArrayzh
+  readAddrArrayzh
+  readFloatArrayzh
+  readDoubleArrayzh
+  readStablePtrArrayzh
+  readInt8Arrayzh
+  readInt16Arrayzh
+  readInt32Arrayzh
+  readInt64Arrayzh
+  readWord8Arrayzh
+  readWord16Arrayzh
+  readWord32Arrayzh
+  readWord64Arrayzh
+
+  writeArrayzh
+  writeCharArrayzh
+  writeWideCharArrayzh
+  writeIntArrayzh
+  writeWordArrayzh
+  writeAddrArrayzh
+  writeFloatArrayzh
+  writeDoubleArrayzh
+  writeStablePtrArrayzh
+  writeInt8Arrayzh
+  writeInt16Arrayzh
+  writeInt32Arrayzh
+  writeInt64Arrayzh
+  writeWord8Arrayzh
+  writeWord16Arrayzh
+  writeWord32Arrayzh
+  writeWord64Arrayzh
+
   indexCharOffAddrzh
+  indexWideCharOffAddrzh
   indexIntOffAddrzh
   indexWordOffAddrzh
   indexAddrOffAddrzh
   indexFloatOffAddrzh
   indexDoubleOffAddrzh
   indexStablePtrOffAddrzh
+  indexInt8OffAddrzh
+  indexInt16OffAddrzh
+  indexInt32OffAddrzh
   indexInt64OffAddrzh
+  indexWord8OffAddrzh
+  indexWord16OffAddrzh
+  indexWord32OffAddrzh
   indexWord64OffAddrzh
-  
+
+  readCharOffAddrzh
+  readWideCharOffAddrzh
+  readIntOffAddrzh
+  readWordOffAddrzh
+  readAddrOffAddrzh
+  readFloatOffAddrzh
+  readDoubleOffAddrzh
+  readStablePtrOffAddrzh
+  readInt8OffAddrzh
+  readInt16OffAddrzh
+  readInt32OffAddrzh
+  readInt64OffAddrzh
+  readWord8OffAddrzh
+  readWord16OffAddrzh
+  readWord32OffAddrzh
+  readWord64OffAddrzh
+
   writeCharOffAddrzh
+  writeWideCharOffAddrzh
   writeIntOffAddrzh
   writeWordOffAddrzh
   writeAddrOffAddrzh
@@ -244,47 +327,37 @@ __export PrelGHC
   writeFloatOffAddrzh
   writeDoubleOffAddrzh
   writeStablePtrOffAddrzh
+  writeInt8OffAddrzh
+  writeInt16OffAddrzh
+  writeInt32OffAddrzh
   writeInt64OffAddrzh
+  writeWord8OffAddrzh
+  writeWord16OffAddrzh
+  writeWord32OffAddrzh
   writeWord64OffAddrzh
 
---  indexOffForeignObjzh
+  eqForeignObjzh
   indexCharOffForeignObjzh
+  indexWideCharOffForeignObjzh
   indexIntOffForeignObjzh
   indexWordOffForeignObjzh
   indexAddrOffForeignObjzh
   indexFloatOffForeignObjzh
   indexDoubleOffForeignObjzh
   indexStablePtrOffForeignObjzh
+  indexInt8OffForeignObjzh
+  indexInt16OffForeignObjzh
+  indexInt32OffForeignObjzh
   indexInt64OffForeignObjzh
+  indexWord8OffForeignObjzh
+  indexWord16OffForeignObjzh
+  indexWord32OffForeignObjzh
   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
@@ -304,8 +377,10 @@ __export PrelGHC
   finalizzeWeakzh
 
   ForeignObjzh
-  makeForeignObjzh
+  mkForeignObjzh
   writeForeignObjzh
+  foreignObjToAddrzh
+  touchzh
 
   StablePtrzh
   makeStablePtrzh
@@ -319,12 +394,49 @@ __export PrelGHC
 
   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)} ;