PrelGHC.hi-boot 4.9 KB
Newer Older
1
---------------------------------------------------------------------------
2
-- 				PrelGHC.hi-boot
3 4 5 6 7
-- 
-- 	This hand-written interface file allows you to bring into scope the 
--	primitive operations and types that GHC knows about.
---------------------------------------------------------------------------

8 9 10 11
__interface PrelGHC 2 0 where

__export PrelGHC

12
  ZLzmzgZR	-- (->)
13

sof's avatar
sof committed
14
  All	-- Pseudo class used for universal quantification
15 16
  CCallable
  CReturnable
sof's avatar
sof committed
17

18
-- Magical assert thingy
sof's avatar
sof committed
19
  assert
20

21 22
  -- constructor tags
  tagToEnumzh
23
  getTagzh
24 25
  dataToTagzh

26
  -- I/O primitives
27
  RealWorld
28 29
  realWorldzh
  Statezh
30

31
  -- Concurrency primitives
32
  ThreadIdzh
33
  myThreadIdzh
34
  forkzh
35
  yieldzh
36 37 38 39
  killThreadzh
  delayzh
  waitReadzh
  waitWritezh
40 41

  -- MVars
42 43 44 45 46 47
  MVarzh
  sameMVarzh
  newMVarzh
  takeMVarzh
  putMVarzh
  isEmptyMVarzh
48 49
  
  -- Parallel
50 51 52 53 54 55 56 57
  seqzh
  parzh
  parGlobalzh
  parLocalzh
  parAtzh
  parAtAbszh
  parAtRelzh
  parAtForNowzh
sof's avatar
sof committed
58

59
  -- Character Type
60 61 62 63 64 65 66 67 68
  Charzh 
  gtCharzh
  geCharzh
  eqCharzh
  neCharzh
  ltCharzh
  leCharzh
  ordzh
  chrzh
69
  
70
  -- Int Type
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
  Intzh
  zgzh
  zgzezh
  zezezh
  zszezh
  zlzh
  zlzezh
  zpzh
  zmzh
  ztzh
  zszh
  quotIntzh
  remIntzh
  negateIntzh
  iShiftLzh
  iShiftRAzh
  iShiftRLzh
88 89 90
  addIntCzh
  subIntCzh
  mulIntCzh
91
  
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
  Wordzh
  gtWordzh
  geWordzh
  eqWordzh
  neWordzh
  ltWordzh
  leWordzh
  quotWordzh
  remWordzh
  andzh
  orzh
  notzh
  xorzh
  shiftLzh
--  shiftRAzh
  shiftRLzh
  int2Wordzh
  word2Intzh
110
  
111
  Word64zh
sof's avatar
sof committed
112

113
  Int64zh
sof's avatar
sof committed
114

115 116 117 118 119 120 121 122 123 124
  Addrzh
  gtAddrzh
  geAddrzh
  eqAddrzh
  neAddrzh
  ltAddrzh
  leAddrzh
  int2Addrzh
  addr2Intzh
  addr2Integerzh
125

126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
  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
154
  
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
  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
185
  
186
  cmpIntegerzh
187
  cmpIntegerIntzh
188 189 190 191 192 193 194 195 196 197 198 199
  plusIntegerzh
  minusIntegerzh
  timesIntegerzh
  quotRemIntegerzh
  integer2Intzh
  integer2Wordzh
  int2Integerzh
  word2Integerzh
  integerToInt64zh
  integerToWord64zh
  int64ToIntegerzh
  word64ToIntegerzh
200
  
201 202 203 204
  Arrayzh
  ByteArrayzh
  MutableArrayzh
  MutableByteArrayzh
205
  
206 207
  sameMutableArrayzh
  sameMutableByteArrayzh
208
  
209 210 211 212 213 214 215 216
  newArrayzh
  newCharArrayzh
  newIntArrayzh
  newWordArrayzh
  newFloatArrayzh
  newDoubleArrayzh
  newAddrArrayzh
  newStablePtrArrayzh
217
  
218 219 220 221 222 223 224 225 226 227
  indexArrayzh
  indexCharArrayzh
  indexIntArrayzh
  indexWordArrayzh
  indexFloatArrayzh
  indexDoubleArrayzh
  indexAddrArrayzh
  indexStablePtrArrayzh
  indexInt64Arrayzh
  indexWord64Arrayzh
228
  
229 230 231 232 233 234 235 236 237 238
--  indexOffAddrzh
  indexCharOffAddrzh
  indexIntOffAddrzh
  indexWordOffAddrzh
  indexAddrOffAddrzh
  indexFloatOffAddrzh
  indexDoubleOffAddrzh
  indexStablePtrOffAddrzh
  indexInt64OffAddrzh
  indexWord64OffAddrzh
239
  
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
  writeCharOffAddrzh
  writeIntOffAddrzh
  writeWordOffAddrzh
  writeAddrOffAddrzh
  writeForeignObjOffAddrzh
  writeFloatOffAddrzh
  writeDoubleOffAddrzh
  writeStablePtrOffAddrzh
  writeInt64OffAddrzh
  writeWord64OffAddrzh

--  indexOffForeignObjzh
  indexCharOffForeignObjzh
  indexIntOffForeignObjzh
  indexWordOffForeignObjzh
  indexAddrOffForeignObjzh
  indexFloatOffForeignObjzh
  indexDoubleOffForeignObjzh
  indexStablePtrOffForeignObjzh
  indexInt64OffForeignObjzh
  indexWord64OffForeignObjzh
261
  
262 263 264 265 266 267 268 269 270 271
  writeArrayzh
  writeCharArrayzh
  writeIntArrayzh
  writeWordArrayzh
  writeFloatArrayzh
  writeDoubleArrayzh
  writeAddrArrayzh
  writeStablePtrArrayzh
  writeInt64Arrayzh
  writeWord64Arrayzh
272
  
273 274 275 276 277 278 279 280 281 282 283 284 285 286
  readArrayzh
  readCharArrayzh
  readIntArrayzh
  readWordArrayzh
  readFloatArrayzh
  readDoubleArrayzh
  readAddrArrayzh
  readStablePtrArrayzh
  readInt64Arrayzh
  readWord64Arrayzh

  unsafeFreezzeArrayzh		-- Note zz in the middle
  unsafeFreezzeByteArrayzh	-- Ditto

sof's avatar
sof committed
287 288 289
  unsafeThawArrayzh
  unsafeThawByteArrayzh

290 291
  sizzeofByteArrayzh		-- Ditto
  sizzeofMutableByteArrayzh	-- Ditto
sof's avatar
sof committed
292

293 294 295 296 297
  MutVarzh
  newMutVarzh
  readMutVarzh
  writeMutVarzh
  sameMutVarzh
298

299 300
  catchzh
  raisezh
301

302 303 304
  Weakzh
  mkWeakzh
  deRefWeakzh
305
  finalizzeWeakzh
306

307 308 309
  ForeignObjzh
  makeForeignObjzh
  writeForeignObjzh
310

311 312 313 314
  StablePtrzh
  makeStablePtrzh
  deRefStablePtrzh
  eqStablePtrzh
315

316 317 318 319
  StableNamezh
  makeStableNamezh
  eqStableNamezh
  stableNameToIntzh
320

321
  reallyUnsafePtrEqualityzh
322

323
  unsafeCoercezh
324
;
325

326 327 328 329 330
-- 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 :: ? ;

331
1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;