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 "std" PrelGHC 2 0 where
17 -- Magical assert thingy
30 -- Concurrency primitives
36 blockAsyncExceptionszh
37 unblockAsyncExceptionszh
216 sameMutableByteArrayzh
234 indexStablePtrArrayzh
245 indexStablePtrOffAddrzh
255 readStablePtrOffAddrzh
263 writeForeignObjOffAddrzh
266 writeStablePtrOffAddrzh
270 -- indexOffForeignObjzh
271 indexCharOffForeignObjzh
272 indexIntOffForeignObjzh
273 indexWordOffForeignObjzh
274 indexAddrOffForeignObjzh
275 indexFloatOffForeignObjzh
276 indexDoubleOffForeignObjzh
277 indexStablePtrOffForeignObjzh
278 indexInt64OffForeignObjzh
279 indexWord64OffForeignObjzh
288 writeStablePtrArrayzh
303 unsafeFreezzeArrayzh -- Note zz in the middle
304 unsafeFreezzeByteArrayzh -- Ditto
308 sizzeofByteArrayzh -- Ditto
309 sizzeofMutableByteArrayzh -- Ditto
339 reallyUnsafePtrEqualityzh
344 instance {CCallable Charzh} = zdfCCallableCharzh;
345 instance {CCallable Doublezh} = zdfCCallableDoublezh;
346 instance {CCallable Floatzh} = zdfCCallableFloatzh;
347 instance {CCallable Intzh} = zdfCCallableIntzh;
348 instance {CCallable Addrzh} = zdfCCallableAddrzh;
349 instance {CCallable Int64zh} = zdfCCallableInt64zh;
350 instance {CCallable Word64zh} = zdfCCallableWord64zh;
351 instance {CCallable Wordzh} = zdfCCallableWordzh;
352 instance {CCallable ByteArrayzh} = zdfCCallableByteArrayzh;
353 instance __forall [s] => {CCallable (MutableByteArrayzh s)} = zdfCCallableMutableByteArrayzh;
354 instance {CCallable ForeignObjzh} = zdfCCallableForeignObjzh;
355 instance __forall [s] => {CCallable (StablePtrzh s)} = zdfCCallableStablePtrzh;
356 -- CCallable and CReturnable have kind (Type AnyBox) so that
357 -- things like Int# can be instances of CCallable.
358 1 class CCallable a :: ? ;
359 1 class CReturnable a :: ? ;
361 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;
363 -- These guys don't really exist:
365 1 zdfCCallableCharzh :: {CCallable Charzh} ;
366 1 zdfCCallableDoublezh :: {CCallable Doublezh} ;
367 1 zdfCCallableFloatzh :: {CCallable Floatzh} ;
368 1 zdfCCallableIntzh :: {CCallable Intzh} ;
369 1 zdfCCallableAddrzh :: {CCallable Addrzh} ;
370 1 zdfCCallableInt64zh :: {CCallable Int64zh} ;
371 1 zdfCCallableWord64zh :: {CCallable Word64zh} ;
372 1 zdfCCallableWordzh :: {CCallable Wordzh} ;
373 1 zdfCCallableByteArrayzh :: {CCallable ByteArrayzh} ;
374 1 zdfCCallableMutableByteArrayzh :: __forall [s] => {CCallable (MutableByteArrayzh s)} ;
375 1 zdfCCallableForeignObjzh :: {CCallable ForeignObjzh} ;
376 1 zdfCCallableStablePtrzh :: __forall [a] => {CCallable (StablePtrzh a)} ;