1 ---------------------------------------------------------------------------
4 -- This hand-written interface file allows you to bring into scope the
5 -- primitive operations and types that GHC knows about.
6 ---------------------------------------------------------------------------
1051 __interface "std" PrelGHC 1 0 where
1060 -- Magical assert thingy
1073 -- Concurrency primitives
1079 blockAsyncExceptionszh
1080 unblockAsyncExceptionszh
1291 sameMutableByteArrayzh
1294 newPinnedByteArrayzh
1299 indexWideCharArrayzh
1305 indexStablePtrArrayzh
1323 readStablePtrArrayzh
1335 writeWideCharArrayzh
1341 writeStablePtrArrayzh
1352 indexWideCharOffAddrzh
1357 indexDoubleOffAddrzh
1358 indexStablePtrOffAddrzh
1364 indexWord16OffAddrzh
1365 indexWord32OffAddrzh
1366 indexWord64OffAddrzh
1369 readWideCharOffAddrzh
1375 readStablePtrOffAddrzh
1386 writeWideCharOffAddrzh
1390 writeForeignObjOffAddrzh
1392 writeDoubleOffAddrzh
1393 writeStablePtrOffAddrzh
1399 writeWord16OffAddrzh
1400 writeWord32OffAddrzh
1401 writeWord64OffAddrzh
1404 indexCharOffForeignObjzh
1405 indexWideCharOffForeignObjzh
1406 indexIntOffForeignObjzh
1407 indexWordOffForeignObjzh
1408 indexAddrOffForeignObjzh
1409 indexFloatOffForeignObjzh
1410 indexDoubleOffForeignObjzh
1411 indexStablePtrOffForeignObjzh
1412 indexInt8OffForeignObjzh
1413 indexInt16OffForeignObjzh
1414 indexInt32OffForeignObjzh
1415 indexInt64OffForeignObjzh
1416 indexWord8OffForeignObjzh
1417 indexWord16OffForeignObjzh
1418 indexWord32OffForeignObjzh
1419 indexWord64OffForeignObjzh
1421 unsafeFreezzeArrayzh -- Note zz in the middle
1422 unsafeFreezzeByteArrayzh -- Ditto
1426 sizzeofByteArrayzh -- Ditto
1427 sizzeofMutableByteArrayzh -- Ditto
1459 reallyUnsafePtrEqualityzh
1469 -- Export PrelErr.error, so that others do not have to import PrelErr
1470 __export PrelErr error ;
1473 --------------------------------------------------
1474 instance {CCallable Charzh} = zdfCCallableCharzh;
1475 instance {CCallable Doublezh} = zdfCCallableDoublezh;
1476 instance {CCallable Floatzh} = zdfCCallableFloatzh;
1477 instance {CCallable Intzh} = zdfCCallableIntzh;
1478 instance {CCallable Addrzh} = zdfCCallableAddrzh;
1479 instance {CCallable Int64zh} = zdfCCallableInt64zh;
1480 instance {CCallable Word64zh} = zdfCCallableWord64zh;
1481 instance {CCallable Wordzh} = zdfCCallableWordzh;
1482 instance {CCallable ByteArrayzh} = zdfCCallableByteArrayzh;
1483 instance __forall s => {CCallable (MutableByteArrayzh s)} = zdfCCallableMutableByteArrayzh;
1484 instance {CCallable ForeignObjzh} = zdfCCallableForeignObjzh;
1485 instance __forall s => {CCallable (StablePtrzh s)} = zdfCCallableStablePtrzh;
1486 -- CCallable and CReturnable have kind (Type AnyBox) so that
1487 -- things like Int# can be instances of CCallable.
1488 1 class CCallable a :: ? ;
1489 1 class CReturnable a :: ? ;
1491 1 assert :: __forall a => PrelBase.Bool -> a -> a ;
1493 -- These guys do not really exist:
1495 1 zdfCCallableCharzh :: {CCallable Charzh} ;
1496 1 zdfCCallableDoublezh :: {CCallable Doublezh} ;
1497 1 zdfCCallableFloatzh :: {CCallable Floatzh} ;
1498 1 zdfCCallableIntzh :: {CCallable Intzh} ;
1499 1 zdfCCallableAddrzh :: {CCallable Addrzh} ;
1500 1 zdfCCallableInt64zh :: {CCallable Int64zh} ;
1501 1 zdfCCallableWord64zh :: {CCallable Word64zh} ;
1502 1 zdfCCallableWordzh :: {CCallable Wordzh} ;
1503 1 zdfCCallableByteArrayzh :: {CCallable ByteArrayzh} ;
1504 1 zdfCCallableMutableByteArrayzh :: __forall s => {CCallable (MutableByteArrayzh s)} ;
1505 1 zdfCCallableForeignObjzh :: {CCallable ForeignObjzh} ;
1506 1 zdfCCallableStablePtrzh :: __forall a => {CCallable (StablePtrzh a)} ;