[project @ 1999-08-02 11:43:41 by simonmar]
[ghc-hetmet.git] / ghc / lib / std / PrelGHC.hi-boot
index 5342e09..b2810b4 100644 (file)
 ---------------------------------------------------------------------------
---                             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
-_exports_
-PrelGHC
-  ->
+__interface PrelGHC 2 0 where
+
+__export PrelGHC
+
+  ZLzmzgZR     -- (->)
 
   All  -- Pseudo class used for universal quantification
   CCallable
   CReturnable
 
-  Void
--- void CAF is defined in PrelBase
-
 -- Magical assert thingy
-  assert__
+  assert
+
+  -- constructor tags
+  tagToEnumzh
+  getTagzh
+  dataToTagzh
 
--- I/O primitives
+  -- I/O primitives
   RealWorld
-  realWorld#
-  State#
-
-  fork#
-  delay# 
-  seq#
-  par#
-  parGlobal#
-  parLocal#
-  parAt#
-  parAtAbs#
-  parAtRel#
-  parAtForNow#
-
-  SynchVar#
-  newSynchVar#
-  takeMVar#
-  putMVar#
-  waitRead#
-  waitWrite#
-  
-  errorIO#
-  
-  Char# 
-  gtChar#
-  geChar#
-  eqChar#
-  neChar#
-  ltChar#
-  leChar#
-  ord#
-  chr#
-  
-  Int#
-  >#
-  >=#
-  ==#
-  /=#
-  <#
-  <=#
-  +#
-  -#
-  *#
-  /#
-  quotInt#
-  remInt#
-  negateInt#
-  iShiftL#
-  iShiftRA#
-  iShiftRL#
+  realWorldzh
+  Statezh
+
+  -- Concurrency primitives
+  ThreadIdzh
+  myThreadIdzh
+  forkzh
+  yieldzh
+  killThreadzh
+  delayzh
+  waitReadzh
+  waitWritezh
+
+  -- MVars
+  MVarzh
+  sameMVarzh
+  newMVarzh
+  takeMVarzh
+  putMVarzh
+  isEmptyMVarzh
   
-  Word#
-  gtWord#
-  geWord#
-  eqWord#
-  neWord#
-  ltWord#
-  leWord#
-  quotWord#
-  remWord#
-  and#
-  or#
-  not#
-  xor#
-  shiftL#
-  shiftRA#
-  shiftRL#
-  int2Word#
-  word2Int#
+  -- Parallel
+  seqzh
+  parzh
+  parGlobalzh
+  parLocalzh
+  parAtzh
+  parAtAbszh
+  parAtRelzh
+  parAtForNowzh
+
+  -- Character Type
+  Charzh 
+  gtCharzh
+  geCharzh
+  eqCharzh
+  neCharzh
+  ltCharzh
+  leCharzh
+  ordzh
+  chrzh
   
-  Addr#
-  gtAddr#
-  geAddr#
-  eqAddr#
-  neAddr#
-  ltAddr#
-  leAddr#
-  int2Addr#
-  addr2Int#
+  -- Int Type
+  Intzh
+  zgzh
+  zgzezh
+  zezezh
+  zszezh
+  zlzh
+  zlzezh
+  zpzh
+  zmzh
+  ztzh
+  zszh
+  quotIntzh
+  remIntzh
+  negateIntzh
+  iShiftLzh
+  iShiftRAzh
+  iShiftRLzh
+  addIntCzh
+  subIntCzh
+  mulIntCzh
   
-  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#
+  Wordzh
+  gtWordzh
+  geWordzh
+  eqWordzh
+  neWordzh
+  ltWordzh
+  leWordzh
+  quotWordzh
+  remWordzh
+  andzh
+  orzh
+  notzh
+  xorzh
+  shiftLzh
+--  shiftRAzh
+  shiftRLzh
+  int2Wordzh
+  word2Intzh
   
-  Double#
-  >##
-  >=##
-  ==##
-  /=##
-  <##
-  <=##
-  +##
-  -##
-  *##
-  /##
-  negateDouble#
-  double2Int#
-  int2Double#
-  double2Float#
-  float2Double#
-  expDouble#
-  logDouble#
-  sqrtDouble#
-  sinDouble#
-  cosDouble#
-  tanDouble#
-  asinDouble#
-  acosDouble#
-  atanDouble#
-  sinhDouble#
-  coshDouble#
-  tanhDouble#
-  **##
-  decodeDouble#
-  encodeDouble#
+  Word64zh
+
+  Int64zh
+
+  Addrzh
+  gtAddrzh
+  geAddrzh
+  eqAddrzh
+  neAddrzh
+  ltAddrzh
+  leAddrzh
+  int2Addrzh
+  addr2Intzh
+  addr2Integerzh
+
+  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
   
-  cmpInteger#
-  negateInteger#
-  plusInteger#
-  minusInteger#
-  timesInteger#
-  quotRemInteger#
-  integer2Int#
-  integer2Word#
-  int2Integer#
-  word2Integer#
+  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
   
-  Array#
-  ByteArray#
-  MutableArray#
-  MutableByteArray#
+  cmpIntegerzh
+  cmpIntegerIntzh
+  plusIntegerzh
+  minusIntegerzh
+  timesIntegerzh
+  gcdIntegerzh
+  quotRemIntegerzh
+  integer2Intzh
+  integer2Wordzh
+  int2Integerzh
+  word2Integerzh
+  integerToInt64zh
+  integerToWord64zh
+  int64ToIntegerzh
+  word64ToIntegerzh
   
-  sameMutableArray#
-  sameMutableByteArray#
+  Arrayzh
+  ByteArrayzh
+  MutableArrayzh
+  MutableByteArrayzh
   
-  newArray#
-  newCharArray#
-  newIntArray#
-  newWordArray#
-  newFloatArray#
-  newDoubleArray#
-  newAddrArray#
+  sameMutableArrayzh
+  sameMutableByteArrayzh
   
-  indexArray#
-  indexCharArray#
-  indexIntArray#
-  indexWordArray#
-  indexFloatArray#
-  indexDoubleArray#
-  indexAddrArray#
+  newArrayzh
+  newCharArrayzh
+  newIntArrayzh
+  newWordArrayzh
+  newFloatArrayzh
+  newDoubleArrayzh
+  newAddrArrayzh
+  newStablePtrArrayzh
   
---  indexOffAddr#
-indexCharOffAddr#
-indexIntOffAddr#
-indexWordOffAddr#
-indexAddrOffAddr#
-indexFloatOffAddr#
-indexDoubleOffAddr#
-
---  indexOffForeignObj#
-indexCharOffForeignObj#
-indexIntOffForeignObj#
-indexWordOffForeignObj#
-indexAddrOffForeignObj#
-indexFloatOffForeignObj#
-indexDoubleOffForeignObj#
+  indexArrayzh
+  indexCharArrayzh
+  indexIntArrayzh
+  indexWordArrayzh
+  indexFloatArrayzh
+  indexDoubleArrayzh
+  indexAddrArrayzh
+  indexStablePtrArrayzh
+  indexInt64Arrayzh
+  indexWord64Arrayzh
   
-  writeArray#
-  writeCharArray#
-  writeIntArray#
-  writeWordArray#
-  writeFloatArray#
-  writeDoubleArray#
-  writeAddrArray#
+--  indexOffAddrzh
+  indexCharOffAddrzh
+  indexIntOffAddrzh
+  indexWordOffAddrzh
+  indexAddrOffAddrzh
+  indexFloatOffAddrzh
+  indexDoubleOffAddrzh
+  indexStablePtrOffAddrzh
+  indexInt64OffAddrzh
+  indexWord64OffAddrzh
   
-  readArray#
-  readCharArray#
-  readIntArray#
-  readWordArray#
-  readFloatArray#
-  readDoubleArray#
-  readAddrArray#
+  writeCharOffAddrzh
+  writeIntOffAddrzh
+  writeWordOffAddrzh
+  writeAddrOffAddrzh
+  writeForeignObjOffAddrzh
+  writeFloatOffAddrzh
+  writeDoubleOffAddrzh
+  writeStablePtrOffAddrzh
+  writeInt64OffAddrzh
+  writeWord64OffAddrzh
+
+--  indexOffForeignObjzh
+  indexCharOffForeignObjzh
+  indexIntOffForeignObjzh
+  indexWordOffForeignObjzh
+  indexAddrOffForeignObjzh
+  indexFloatOffForeignObjzh
+  indexDoubleOffForeignObjzh
+  indexStablePtrOffForeignObjzh
+  indexInt64OffForeignObjzh
+  indexWord64OffForeignObjzh
   
-  unsafeFreezeArray#
-  unsafeFreezeByteArray#
+  writeArrayzh
+  writeCharArrayzh
+  writeIntArrayzh
+  writeWordArrayzh
+  writeFloatArrayzh
+  writeDoubleArrayzh
+  writeAddrArrayzh
+  writeStablePtrArrayzh
+  writeInt64Arrayzh
+  writeWord64Arrayzh
   
-  sizeofByteArray#
-  sizeofMutableByteArray#
+  readArrayzh
+  readCharArrayzh
+  readIntArrayzh
+  readWordArrayzh
+  readFloatArrayzh
+  readDoubleArrayzh
+  readAddrArrayzh
+  readStablePtrArrayzh
+  readInt64Arrayzh
+  readWord64Arrayzh
 
-  ForeignObj#
-  makeForeignObj#
-  writeForeignObj#
-  
-  StablePtr#
-  makeStablePtr#
-  deRefStablePtr#
-  reallyUnsafePtrEquality#
+  unsafeFreezzeArrayzh         -- Note zz in the middle
+  unsafeFreezzeByteArrayzh     -- Ditto
+
+  unsafeThawArrayzh
+  unsafeThawByteArrayzh
+
+  sizzeofByteArrayzh           -- Ditto
+  sizzeofMutableByteArrayzh    -- Ditto
+
+  MutVarzh
+  newMutVarzh
+  readMutVarzh
+  writeMutVarzh
+  sameMutVarzh
+
+  catchzh
+  raisezh
+
+  Weakzh
+  mkWeakzh
+  deRefWeakzh
+  finalizzeWeakzh
+
+  ForeignObjzh
+  makeForeignObjzh
+  writeForeignObjzh
+
+  StablePtrzh
+  makeStablePtrzh
+  deRefStablePtrzh
+  eqStablePtrzh
+
+  StableNamezh
+  makeStableNamezh
+  eqStableNamezh
+  stableNameToIntzh
+
+  reallyUnsafePtrEqualityzh
+
+  unsafeCoercezh
 ;
 
-_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 ;