[project @ 1999-01-14 18:12:47 by sof]
[ghc-hetmet.git] / ghc / lib / std / PrelGHC.hi-boot
index 9d8a1b2..1a1cbe8 100644 (file)
@@ -5,25 +5,41 @@
 --     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#
@@ -33,15 +49,7 @@ PrelGHC
   parAtRel#
   parAtForNow#
 
-  SynchVar#
-  newSynchVar#
-  takeMVar#
-  putMVar#
-  waitRead#
-  waitWrite#
-  
-  errorIO#
-  
+  -- Character Type
   Char# 
   gtChar#
   geChar#
@@ -52,6 +60,7 @@ PrelGHC
   ord#
   chr#
   
+  -- Int Type
   Int#
   >#
   >=#
@@ -62,7 +71,6 @@ PrelGHC
   +#
   -#
   *#
-  /#
   quotInt#
   remInt#
   negateInt#
@@ -84,11 +92,14 @@ PrelGHC
   not#
   xor#
   shiftL#
-  shiftRA#
   shiftRL#
   int2Word#
   word2Int#
   
+  Word64#
+
+  Int64#
+
   Addr#
   gtAddr#
   geAddr#
@@ -98,7 +109,8 @@ PrelGHC
   leAddr#
   int2Addr#
   addr2Int#
-  
+  addr2Integer#
+
   Float#
   gtFloat#
   geFloat#
@@ -168,8 +180,13 @@ PrelGHC
   timesInteger#
   quotRemInteger#
   integer2Int#
+  integer2Word#
   int2Integer#
   word2Integer#
+  integerToInt64#
+  integerToWord64#
+  int64ToInteger#
+  word64ToInteger#
   
   Array#
   ByteArray#
@@ -182,59 +199,113 @@ PrelGHC
   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 ;