[project @ 2000-04-13 14:27:15 by panne]
[ghc-hetmet.git] / ghc / lib / std / PrelGHC.hi-boot
index b0be9ec..58432a6 100644 (file)
@@ -5,13 +5,12 @@
 --     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
 
@@ -34,6 +33,8 @@ __export PrelGHC
   forkzh
   yieldzh
   killThreadzh
+  blockAsyncExceptionszh
+  unblockAsyncExceptionszh
   delayzh
   waitReadzh
   waitWritezh
@@ -44,6 +45,7 @@ __export PrelGHC
   newMVarzh
   takeMVarzh
   putMVarzh
+  takeMaybeMVarzh
   isEmptyMVarzh
   
   -- Parallel
@@ -78,9 +80,9 @@ __export PrelGHC
   zpzh
   zmzh
   ztzh
-  zszh
   quotIntzh
   remIntzh
+  gcdIntzh
   negateIntzh
   iShiftLzh
   iShiftRAzh
@@ -188,7 +190,14 @@ __export PrelGHC
   plusIntegerzh
   minusIntegerzh
   timesIntegerzh
+  gcdIntegerzh
+  quotIntegerzh
+  remIntegerzh
+  gcdIntegerzh
+  gcdIntegerIntzh
+  divExactIntegerzh
   quotRemIntegerzh
+  divModIntegerzh
   integer2Intzh
   integer2Wordzh
   int2Integerzh
@@ -237,6 +246,16 @@ __export PrelGHC
   indexInt64OffAddrzh
   indexWord64OffAddrzh
   
+  readCharOffAddrzh
+  readIntOffAddrzh
+  readWordOffAddrzh
+  readAddrOffAddrzh
+  readFloatOffAddrzh
+  readDoubleOffAddrzh
+  readStablePtrOffAddrzh
+  readInt64OffAddrzh
+  readWord64OffAddrzh
+
   writeCharOffAddrzh
   writeIntOffAddrzh
   writeWordOffAddrzh
@@ -285,7 +304,6 @@ __export PrelGHC
   unsafeFreezzeByteArrayzh     -- Ditto
 
   unsafeThawArrayzh
-  unsafeThawByteArrayzh
 
   sizzeofByteArrayzh           -- Ditto
   sizzeofMutableByteArrayzh    -- Ditto
@@ -305,7 +323,7 @@ __export PrelGHC
   finalizzeWeakzh
 
   ForeignObjzh
-  makeForeignObjzh
+  mkForeignObjzh
   writeForeignObjzh
 
   StablePtrzh
@@ -323,9 +341,36 @@ __export PrelGHC
   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)} ;