1 ---------------------------------------------------------------------------
4 -- This hand-written interface file allows you to bring into scope the
5 -- primitive operations and types that GHC knows about.
6 ---------------------------------------------------------------------------
8 __interface "rts" PrelGHC 1 0 where
17 -- Magical assert thingy
30 -- Concurrency primitives
36 blockAsyncExceptionszh
37 unblockAsyncExceptionszh
219 sameMutableByteArrayzh
237 indexStablePtrArrayzh
248 indexStablePtrOffAddrzh
258 readStablePtrOffAddrzh
266 writeForeignObjOffAddrzh
269 writeStablePtrOffAddrzh
273 -- indexOffForeignObjzh
274 indexCharOffForeignObjzh
275 indexIntOffForeignObjzh
276 indexWordOffForeignObjzh
277 indexAddrOffForeignObjzh
278 indexFloatOffForeignObjzh
279 indexDoubleOffForeignObjzh
280 indexStablePtrOffForeignObjzh
281 indexInt64OffForeignObjzh
282 indexWord64OffForeignObjzh
291 writeStablePtrArrayzh
306 unsafeFreezzeArrayzh -- Note zz in the middle
307 unsafeFreezzeByteArrayzh -- Ditto
311 sizzeofByteArrayzh -- Ditto
312 sizzeofMutableByteArrayzh -- Ditto
345 indexWordOffClosurezh
349 reallyUnsafePtrEqualityzh
357 -- Export PrelErr.error, so that others don't have to import PrelErr
358 __export PrelErr error ;
361 --------------------------------------------------
362 instance {CCallable Charzh} = zdfCCallableCharzh;
363 instance {CCallable Doublezh} = zdfCCallableDoublezh;
364 instance {CCallable Floatzh} = zdfCCallableFloatzh;
365 instance {CCallable Intzh} = zdfCCallableIntzh;
366 instance {CCallable Addrzh} = zdfCCallableAddrzh;
367 instance {CCallable Int64zh} = zdfCCallableInt64zh;
368 instance {CCallable Word64zh} = zdfCCallableWord64zh;
369 instance {CCallable Wordzh} = zdfCCallableWordzh;
370 instance {CCallable ByteArrayzh} = zdfCCallableByteArrayzh;
371 instance __forall s => {CCallable (MutableByteArrayzh s)} = zdfCCallableMutableByteArrayzh;
372 instance {CCallable ForeignObjzh} = zdfCCallableForeignObjzh;
373 instance __forall s => {CCallable (StablePtrzh s)} = zdfCCallableStablePtrzh;
374 -- CCallable and CReturnable have kind (Type AnyBox) so that
375 -- things like Int# can be instances of CCallable.
376 1 class CCallable a :: ? ;
377 1 class CReturnable a :: ? ;
379 1 assert :: __forall a => PrelBase.Bool -> a -> a ;
381 -- These guys don't really exist:
383 1 zdfCCallableCharzh :: {CCallable Charzh} ;
384 1 zdfCCallableDoublezh :: {CCallable Doublezh} ;
385 1 zdfCCallableFloatzh :: {CCallable Floatzh} ;
386 1 zdfCCallableIntzh :: {CCallable Intzh} ;
387 1 zdfCCallableAddrzh :: {CCallable Addrzh} ;
388 1 zdfCCallableInt64zh :: {CCallable Int64zh} ;
389 1 zdfCCallableWord64zh :: {CCallable Word64zh} ;
390 1 zdfCCallableWordzh :: {CCallable Wordzh} ;
391 1 zdfCCallableByteArrayzh :: {CCallable ByteArrayzh} ;
392 1 zdfCCallableMutableByteArrayzh :: __forall s => {CCallable (MutableByteArrayzh s)} ;
393 1 zdfCCallableForeignObjzh :: {CCallable ForeignObjzh} ;
394 1 zdfCCallableStablePtrzh :: __forall a => {CCallable (StablePtrzh a)} ;