Skip to content
Snippets Groups Projects
base-exports.stdout-javascript-unknown-ghcjs 1.04 MiB
Newer Older
  type Word32 :: *
  data Word32 = ...
  type Word64 :: *
  data Word64 = ...
  type Word8 :: *
  data Word8 = ...
  type WordPtr :: *
  newtype WordPtr = WordPtr Word
  type Xor :: * -> *
  newtype Xor a = Xor {getXor :: a}
  addForeignPtrFinalizer :: forall a. FinalizerPtr a -> ForeignPtr a -> GHC.Types.IO ()
  addForeignPtrFinalizerEnv :: forall env a. FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> GHC.Types.IO ()
  advancePtr :: forall a. Storable a => Ptr a -> Int -> Ptr a
  alignPtr :: forall a. Ptr a -> Int -> Ptr a
  alloca :: forall a b. Storable a => (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray :: forall a b. Storable a => Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray0 :: forall a b. Storable a => Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytes :: forall a b. Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytesAligned :: forall a b. Int -> Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  bitDefault :: forall a. (Bits a, GHC.Internal.Num.Num a) => Int -> a
  bitReverse16 :: Word16 -> Word16
  bitReverse32 :: Word32 -> Word32
  bitReverse64 :: Word64 -> Word64
  bitReverse8 :: Word8 -> Word8
  byteSwap16 :: Word16 -> Word16
  byteSwap32 :: Word32 -> Word32
  byteSwap64 :: Word64 -> Word64
  calloc :: forall a. Storable a => GHC.Types.IO (Ptr a)
  callocArray :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  callocArray0 :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  callocBytes :: forall a. Int -> GHC.Types.IO (Ptr a)
  castForeignPtr :: forall a b. ForeignPtr a -> ForeignPtr b
  castFunPtr :: forall a b. FunPtr a -> FunPtr b
  castFunPtrToPtr :: forall a b. FunPtr a -> Ptr b
  castPtr :: forall a b. Ptr a -> Ptr b
  castPtrToFunPtr :: forall a b. Ptr a -> FunPtr b
  castPtrToStablePtr :: forall a. Ptr () -> StablePtr a
  castStablePtrToPtr :: forall a. StablePtr a -> Ptr ()
  copyArray :: forall a. Storable a => Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  copyBytes :: forall a. Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  deRefStablePtr :: forall a. StablePtr a -> GHC.Types.IO a
  fillBytes :: forall a. Ptr a -> Word8 -> Int -> GHC.Types.IO ()
  finalizeForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  finalizerFree :: forall a. FinalizerPtr a
  free :: forall a. Ptr a -> GHC.Types.IO ()
  freeHaskellFunPtr :: forall a. FunPtr a -> GHC.Types.IO ()
  freePool :: Pool -> GHC.Types.IO ()
  freeStablePtr :: forall a. StablePtr a -> GHC.Types.IO ()
  fromBool :: forall a. GHC.Internal.Num.Num a => GHC.Types.Bool -> a
  intPtrToPtr :: forall a. IntPtr -> Ptr a
  lengthArray0 :: forall a. (Storable a, GHC.Classes.Eq a) => a -> Ptr a -> GHC.Types.IO Int
  malloc :: forall a. Storable a => GHC.Types.IO (Ptr a)
  mallocArray :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  mallocArray0 :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  mallocBytes :: forall a. Int -> GHC.Types.IO (Ptr a)
  mallocForeignPtr :: forall a. Storable a => GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray :: forall a. Storable a => Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray0 :: forall a. Storable a => Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrBytes :: forall a. Int -> GHC.Types.IO (ForeignPtr a)
  maybeNew :: forall a b. (a -> GHC.Types.IO (Ptr b)) -> GHC.Internal.Maybe.Maybe a -> GHC.Types.IO (Ptr b)
  maybePeek :: forall a b. (Ptr a -> GHC.Types.IO b) -> Ptr a -> GHC.Types.IO (GHC.Internal.Maybe.Maybe b)
  maybeWith :: forall a b c. (a -> (Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c) -> GHC.Internal.Maybe.Maybe a -> (Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c
  minusPtr :: forall a b. Ptr a -> Ptr b -> Int
  moveArray :: forall a. Storable a => Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  moveBytes :: forall a. Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  new :: forall a. Storable a => a -> GHC.Types.IO (Ptr a)
  newArray :: forall a. Storable a => [a] -> GHC.Types.IO (Ptr a)
  newArray0 :: forall a. Storable a => a -> [a] -> GHC.Types.IO (Ptr a)
  newForeignPtr :: forall a. FinalizerPtr a -> Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtrEnv :: forall env a. FinalizerEnvPtr env a -> Ptr env -> Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr_ :: forall a. Ptr a -> GHC.Types.IO (ForeignPtr a)
  newPool :: GHC.Types.IO Pool
  newStablePtr :: forall a. a -> GHC.Types.IO (StablePtr a)
  nullFunPtr :: forall a. FunPtr a
  nullPtr :: forall a. Ptr a
  oneBits :: forall a. FiniteBits a => a
  peekArray :: forall a. Storable a => Int -> Ptr a -> GHC.Types.IO [a]
  peekArray0 :: forall a. (Storable a, GHC.Classes.Eq a) => a -> Ptr a -> GHC.Types.IO [a]
  plusForeignPtr :: forall a b. ForeignPtr a -> Int -> ForeignPtr b
  plusPtr :: forall a b. Ptr a -> Int -> Ptr b
  pokeArray :: forall a. Storable a => Ptr a -> [a] -> GHC.Types.IO ()
  pokeArray0 :: forall a. Storable a => a -> Ptr a -> [a] -> GHC.Types.IO ()
  pooledMalloc :: forall a. Storable a => Pool -> GHC.Types.IO (Ptr a)
  pooledMallocArray :: forall a. Storable a => Pool -> Int -> GHC.Types.IO (Ptr a)
  pooledMallocArray0 :: forall a. Storable a => Pool -> Int -> GHC.Types.IO (Ptr a)
  pooledMallocBytes :: forall a. Pool -> Int -> GHC.Types.IO (Ptr a)
  pooledNew :: forall a. Storable a => Pool -> a -> GHC.Types.IO (Ptr a)
  pooledNewArray :: forall a. Storable a => Pool -> [a] -> GHC.Types.IO (Ptr a)
  pooledNewArray0 :: forall a. Storable a => Pool -> a -> [a] -> GHC.Types.IO (Ptr a)
  pooledRealloc :: forall a. Storable a => Pool -> Ptr a -> GHC.Types.IO (Ptr a)
  pooledReallocArray :: forall a. Storable a => Pool -> Ptr a -> Int -> GHC.Types.IO (Ptr a)
  pooledReallocArray0 :: forall a. Storable a => Pool -> Ptr a -> Int -> GHC.Types.IO (Ptr a)
  pooledReallocBytes :: forall a. Pool -> Ptr a -> Int -> GHC.Types.IO (Ptr a)
  popCountDefault :: forall a. (Bits a, GHC.Internal.Num.Num a) => a -> Int
  ptrToIntPtr :: forall a. Ptr a -> IntPtr
  ptrToWordPtr :: forall a. Ptr a -> WordPtr
  realloc :: forall a b. Storable b => Ptr a -> GHC.Types.IO (Ptr b)
  reallocArray :: forall a. Storable a => Ptr a -> Int -> GHC.Types.IO (Ptr a)
  reallocArray0 :: forall a. Storable a => Ptr a -> Int -> GHC.Types.IO (Ptr a)
  reallocBytes :: forall a. Ptr a -> Int -> GHC.Types.IO (Ptr a)
  testBitDefault :: forall a. (Bits a, GHC.Internal.Num.Num a) => a -> Int -> GHC.Types.Bool
  throwIf :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg_ :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  throwIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (Ptr a) -> GHC.Types.IO (Ptr a)
  throwIf_ :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  toBool :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => a -> GHC.Types.Bool
  toIntegralSized :: forall a b. (GHC.Internal.Real.Integral a, GHC.Internal.Real.Integral b, Bits a, Bits b) => a -> GHC.Internal.Maybe.Maybe b
  touchForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  void :: forall a. GHC.Types.IO a -> GHC.Types.IO ()
  with :: forall a b. Storable a => a -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray :: forall a b. Storable a => [a] -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray0 :: forall a b. Storable a => a -> [a] -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen :: forall a b. Storable a => [a] -> (Int -> Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen0 :: forall a b. Storable a => a -> [a] -> (Int -> Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withForeignPtr :: forall a b. ForeignPtr a -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withMany :: forall a b res. (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res
  withPool :: forall b. (Pool -> GHC.Types.IO b) -> GHC.Types.IO b
  wordPtrToPtr :: forall a. WordPtr -> Ptr a

module Foreign.C where
  -- Safety: Safe
  type CBool :: *
  newtype CBool = ...
  type CChar :: *
  newtype CChar = ...
  type CClock :: *
  newtype CClock = ...
  type CDouble :: *
  newtype CDouble = ...
  type CFile :: *
  data CFile = ...
  type CFloat :: *
  newtype CFloat = ...
  type CFpos :: *
  data CFpos = ...
  type CInt :: *
  newtype CInt = ...
  type CIntMax :: *
  newtype CIntMax = ...
  type CIntPtr :: *
  newtype CIntPtr = ...
  type CJmpBuf :: *
  data CJmpBuf = ...
  type CLLong :: *
  newtype CLLong = ...
  type CLong :: *
  newtype CLong = ...
  type CPtrdiff :: *
  newtype CPtrdiff = ...
  type CSChar :: *
  newtype CSChar = ...
  type CSUSeconds :: *
  newtype CSUSeconds = ...
  type CShort :: *
  newtype CShort = ...
  type CSigAtomic :: *
  newtype CSigAtomic = ...
  type CSize :: *
  newtype CSize = ...
  type CString :: *
  type CString = GHC.Internal.Ptr.Ptr CChar
  type CStringLen = (GHC.Internal.Ptr.Ptr CChar, GHC.Types.Int)
  type CTime :: *
  newtype CTime = ...
  type CUChar :: *
  newtype CUChar = ...
  type CUInt :: *
  newtype CUInt = ...
  type CUIntMax :: *
  newtype CUIntMax = ...
  type CUIntPtr :: *
  newtype CUIntPtr = ...
  type CULLong :: *
  newtype CULLong = ...
  type CULong :: *
  newtype CULong = ...
  type CUSeconds :: *
  newtype CUSeconds = ...
  type CUShort :: *
  newtype CUShort = ...
  type CWString :: *
  type CWString = GHC.Internal.Ptr.Ptr CWchar
  type CWStringLen = (GHC.Internal.Ptr.Ptr CWchar, GHC.Types.Int)
  type CWchar :: *
  newtype CWchar = ...
  type Errno :: *
  newtype Errno = Errno CInt
  castCCharToChar :: CChar -> GHC.Types.Char
  castCSCharToChar :: CSChar -> GHC.Types.Char
  castCUCharToChar :: CUChar -> GHC.Types.Char
  castCharToCChar :: GHC.Types.Char -> CChar
  castCharToCSChar :: GHC.Types.Char -> CSChar
  castCharToCUChar :: GHC.Types.Char -> CUChar
  charIsRepresentable :: GHC.Types.Char -> GHC.Types.IO GHC.Types.Bool
  e2BIG :: Errno
  eACCES :: Errno
  eADDRINUSE :: Errno
  eADDRNOTAVAIL :: Errno
  eADV :: Errno
  eAFNOSUPPORT :: Errno
  eAGAIN :: Errno
  eALREADY :: Errno
  eBADF :: Errno
  eBADMSG :: Errno
  eBADRPC :: Errno
  eBUSY :: Errno
  eCHILD :: Errno
  eCOMM :: Errno
  eCONNABORTED :: Errno
  eCONNREFUSED :: Errno
  eCONNRESET :: Errno
  eDEADLK :: Errno
  eDESTADDRREQ :: Errno
  eDIRTY :: Errno
  eDOM :: Errno
  eDQUOT :: Errno
  eEXIST :: Errno
  eFAULT :: Errno
  eFBIG :: Errno
  eFTYPE :: Errno
  eHOSTDOWN :: Errno
  eHOSTUNREACH :: Errno
  eIDRM :: Errno
  eILSEQ :: Errno
  eINPROGRESS :: Errno
  eINTR :: Errno
  eINVAL :: Errno
  eIO :: Errno
  eISCONN :: Errno
  eISDIR :: Errno
  eLOOP :: Errno
  eMFILE :: Errno
  eMLINK :: Errno
  eMSGSIZE :: Errno
  eMULTIHOP :: Errno
  eNAMETOOLONG :: Errno
  eNETDOWN :: Errno
  eNETRESET :: Errno
  eNETUNREACH :: Errno
  eNFILE :: Errno
  eNOBUFS :: Errno
  eNODATA :: Errno
  eNODEV :: Errno
  eNOENT :: Errno
  eNOEXEC :: Errno
  eNOLCK :: Errno
  eNOLINK :: Errno
  eNOMEM :: Errno
  eNOMSG :: Errno
  eNONET :: Errno
  eNOPROTOOPT :: Errno
  eNOSPC :: Errno
  eNOSR :: Errno
  eNOSTR :: Errno
  eNOSYS :: Errno
  eNOTBLK :: Errno
  eNOTCONN :: Errno
  eNOTDIR :: Errno
  eNOTEMPTY :: Errno
  eNOTSOCK :: Errno
  eNOTSUP :: Errno
  eNOTTY :: Errno
  eNXIO :: Errno
  eOK :: Errno
  eOPNOTSUPP :: Errno
  ePERM :: Errno
  ePFNOSUPPORT :: Errno
  ePIPE :: Errno
  ePROCLIM :: Errno
  ePROCUNAVAIL :: Errno
  ePROGMISMATCH :: Errno
  ePROGUNAVAIL :: Errno
  ePROTO :: Errno
  ePROTONOSUPPORT :: Errno
  ePROTOTYPE :: Errno
  eRANGE :: Errno
  eREMCHG :: Errno
  eREMOTE :: Errno
  eROFS :: Errno
  eRPCMISMATCH :: Errno
  eRREMOTE :: Errno
  eSHUTDOWN :: Errno
  eSOCKTNOSUPPORT :: Errno
  eSPIPE :: Errno
  eSRCH :: Errno
  eSRMNT :: Errno
  eSTALE :: Errno
  eTIME :: Errno
  eTIMEDOUT :: Errno
  eTOOMANYREFS :: Errno
  eTXTBSY :: Errno
  eUSERS :: Errno
  eWOULDBLOCK :: Errno
  eXDEV :: Errno
  errnoToIOError :: GHC.Internal.Base.String -> Errno -> GHC.Internal.Maybe.Maybe GHC.Internal.IO.Handle.Types.Handle -> GHC.Internal.Maybe.Maybe GHC.Internal.Base.String -> GHC.Internal.IO.Exception.IOError
  getErrno :: GHC.Types.IO Errno
  isValidErrno :: Errno -> GHC.Types.Bool
  newCAString :: GHC.Internal.Base.String -> GHC.Types.IO CString
  newCAStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CStringLen
  newCString :: GHC.Internal.Base.String -> GHC.Types.IO CString
  newCStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CStringLen
  newCWString :: GHC.Internal.Base.String -> GHC.Types.IO CWString
  newCWStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CWStringLen
  peekCAString :: CString -> GHC.Types.IO GHC.Internal.Base.String
  peekCAStringLen :: CStringLen -> GHC.Types.IO GHC.Internal.Base.String
  peekCString :: CString -> GHC.Types.IO GHC.Internal.Base.String
  peekCStringLen :: CStringLen -> GHC.Types.IO GHC.Internal.Base.String
  peekCWString :: CWString -> GHC.Types.IO GHC.Internal.Base.String
  peekCWStringLen :: CWStringLen -> GHC.Types.IO GHC.Internal.Base.String
  resetErrno :: GHC.Types.IO ()
  throwErrno :: forall a. GHC.Internal.Base.String -> GHC.Types.IO a
  throwErrnoIf :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1 :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1Retry :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1RetryMayBlock :: forall a b. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO a
  throwErrnoIfMinus1RetryMayBlock_ :: forall a b. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO ()
  throwErrnoIfMinus1Retry_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIfMinus1_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfNullRetry :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfNullRetryMayBlock :: forall a b. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO b -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfRetry :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfRetryMayBlock :: forall a b. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO a
  throwErrnoIfRetryMayBlock_ :: forall a b. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO ()
  throwErrnoIfRetry_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIf_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoPath :: forall a. GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a
  throwErrnoPathIf :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoPathIfMinus1 :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoPathIfMinus1_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoPathIfNull :: forall a. GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoPathIf_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO ()
  withCAString :: forall a. GHC.Internal.Base.String -> (CString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCAStringLen :: forall a. GHC.Internal.Base.String -> (CStringLen -> GHC.Types.IO a) -> GHC.Types.IO a
  withCString :: forall a. GHC.Internal.Base.String -> (CString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCStringLen :: forall a. GHC.Internal.Base.String -> (CStringLen -> GHC.Types.IO a) -> GHC.Types.IO a
  withCWString :: forall a. GHC.Internal.Base.String -> (CWString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCWStringLen :: forall a. GHC.Internal.Base.String -> (CWStringLen -> GHC.Types.IO a) -> GHC.Types.IO a

module Foreign.C.ConstPtr where
  type role ConstPtr phantom
  type ConstPtr :: * -> *
  newtype ConstPtr a = ConstPtr {unConstPtr :: GHC.Internal.Ptr.Ptr a}

module Foreign.C.Error where
  newtype Errno = Errno GHC.Internal.Foreign.C.Types.CInt
  e2BIG :: Errno
  eACCES :: Errno
  eADDRINUSE :: Errno
  eADDRNOTAVAIL :: Errno
  eADV :: Errno
  eAFNOSUPPORT :: Errno
  eAGAIN :: Errno
  eALREADY :: Errno
  eBADF :: Errno
  eBADMSG :: Errno
  eBADRPC :: Errno
  eBUSY :: Errno
  eCHILD :: Errno
  eCOMM :: Errno
  eCONNABORTED :: Errno
  eCONNREFUSED :: Errno
  eCONNRESET :: Errno
  eDEADLK :: Errno
  eDESTADDRREQ :: Errno
  eDIRTY :: Errno
  eDOM :: Errno
  eDQUOT :: Errno
  eEXIST :: Errno
  eFAULT :: Errno
  eFBIG :: Errno
  eFTYPE :: Errno
  eHOSTDOWN :: Errno
  eHOSTUNREACH :: Errno
  eIDRM :: Errno
  eILSEQ :: Errno
  eINPROGRESS :: Errno
  eINTR :: Errno
  eINVAL :: Errno
  eIO :: Errno
  eISCONN :: Errno
  eISDIR :: Errno
  eLOOP :: Errno
  eMFILE :: Errno
  eMLINK :: Errno
  eMSGSIZE :: Errno
  eMULTIHOP :: Errno
  eNAMETOOLONG :: Errno
  eNETDOWN :: Errno
  eNETRESET :: Errno
  eNETUNREACH :: Errno
  eNFILE :: Errno
  eNOBUFS :: Errno
  eNODATA :: Errno
  eNODEV :: Errno
  eNOENT :: Errno
  eNOEXEC :: Errno
  eNOLCK :: Errno
  eNOLINK :: Errno
  eNOMEM :: Errno
  eNOMSG :: Errno
  eNONET :: Errno
  eNOPROTOOPT :: Errno
  eNOSPC :: Errno
  eNOSR :: Errno
  eNOSTR :: Errno
  eNOSYS :: Errno
  eNOTBLK :: Errno
  eNOTCONN :: Errno
  eNOTDIR :: Errno
  eNOTEMPTY :: Errno
  eNOTSOCK :: Errno
  eNOTSUP :: Errno
  eNOTTY :: Errno
  eNXIO :: Errno
  eOK :: Errno
  eOPNOTSUPP :: Errno
  ePERM :: Errno
  ePFNOSUPPORT :: Errno
  ePIPE :: Errno
  ePROCLIM :: Errno
  ePROCUNAVAIL :: Errno
  ePROGMISMATCH :: Errno
  ePROGUNAVAIL :: Errno
  ePROTO :: Errno
  ePROTONOSUPPORT :: Errno
  ePROTOTYPE :: Errno
  eRANGE :: Errno
  eREMCHG :: Errno
  eREMOTE :: Errno
  eROFS :: Errno
  eRPCMISMATCH :: Errno
  eRREMOTE :: Errno
  eSHUTDOWN :: Errno
  eSOCKTNOSUPPORT :: Errno
  eSPIPE :: Errno
  eSRCH :: Errno
  eSRMNT :: Errno
  eSTALE :: Errno
  eTIME :: Errno
  eTIMEDOUT :: Errno
  eTOOMANYREFS :: Errno
  eTXTBSY :: Errno
  eUSERS :: Errno
  eWOULDBLOCK :: Errno
  eXDEV :: Errno
  errnoToIOError :: GHC.Internal.Base.String -> Errno -> GHC.Internal.Maybe.Maybe GHC.Internal.IO.Handle.Types.Handle -> GHC.Internal.Maybe.Maybe GHC.Internal.Base.String -> GHC.Internal.IO.Exception.IOError
  getErrno :: GHC.Types.IO Errno
  isValidErrno :: Errno -> GHC.Types.Bool
  resetErrno :: GHC.Types.IO ()
  throwErrno :: forall a. GHC.Internal.Base.String -> GHC.Types.IO a
  throwErrnoIf :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1 :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1Retry :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfMinus1RetryMayBlock :: forall a b. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO a
  throwErrnoIfMinus1RetryMayBlock_ :: forall a b. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO ()
  throwErrnoIfMinus1Retry_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIfMinus1_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfNullRetry :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfNullRetryMayBlock :: forall a b. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO b -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoIfRetry :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoIfRetryMayBlock :: forall a b. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO a
  throwErrnoIfRetryMayBlock_ :: forall a b. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO b -> GHC.Types.IO ()
  throwErrnoIfRetry_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoIf_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoPath :: forall a. GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a
  throwErrnoPathIf :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoPathIfMinus1 :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO a
  throwErrnoPathIfMinus1_ :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO ()
  throwErrnoPathIfNull :: forall a. GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwErrnoPathIf_ :: forall a. (a -> GHC.Types.Bool) -> GHC.Internal.Base.String -> GHC.Internal.IO.FilePath -> GHC.Types.IO a -> GHC.Types.IO ()

module Foreign.C.String where
  type CString = GHC.Internal.Ptr.Ptr GHC.Internal.Foreign.C.Types.CChar
  type CStringLen = (GHC.Internal.Ptr.Ptr GHC.Internal.Foreign.C.Types.CChar, GHC.Types.Int)
  type CWString = GHC.Internal.Ptr.Ptr GHC.Internal.Foreign.C.Types.CWchar
  type CWStringLen = (GHC.Internal.Ptr.Ptr GHC.Internal.Foreign.C.Types.CWchar, GHC.Types.Int)
  castCCharToChar :: GHC.Internal.Foreign.C.Types.CChar -> GHC.Types.Char
  castCSCharToChar :: GHC.Internal.Foreign.C.Types.CSChar -> GHC.Types.Char
  castCUCharToChar :: GHC.Internal.Foreign.C.Types.CUChar -> GHC.Types.Char
  castCharToCChar :: GHC.Types.Char -> GHC.Internal.Foreign.C.Types.CChar
  castCharToCSChar :: GHC.Types.Char -> GHC.Internal.Foreign.C.Types.CSChar
  castCharToCUChar :: GHC.Types.Char -> GHC.Internal.Foreign.C.Types.CUChar
  charIsRepresentable :: GHC.Types.Char -> GHC.Types.IO GHC.Types.Bool
  newCAString :: GHC.Internal.Base.String -> GHC.Types.IO CString
  newCAStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CStringLen
  newCString :: GHC.Internal.Base.String -> GHC.Types.IO CString
  newCStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CStringLen
  newCWString :: GHC.Internal.Base.String -> GHC.Types.IO CWString
  newCWStringLen :: GHC.Internal.Base.String -> GHC.Types.IO CWStringLen
  peekCAString :: CString -> GHC.Types.IO GHC.Internal.Base.String
  peekCAStringLen :: CStringLen -> GHC.Types.IO GHC.Internal.Base.String
  peekCString :: CString -> GHC.Types.IO GHC.Internal.Base.String
  peekCStringLen :: CStringLen -> GHC.Types.IO GHC.Internal.Base.String
  peekCWString :: CWString -> GHC.Types.IO GHC.Internal.Base.String
  peekCWStringLen :: CWStringLen -> GHC.Types.IO GHC.Internal.Base.String
  withCAString :: forall a. GHC.Internal.Base.String -> (CString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCAStringLen :: forall a. GHC.Internal.Base.String -> (CStringLen -> GHC.Types.IO a) -> GHC.Types.IO a
  withCString :: forall a. GHC.Internal.Base.String -> (CString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCStringLen :: forall a. GHC.Internal.Base.String -> (CStringLen -> GHC.Types.IO a) -> GHC.Types.IO a
  withCWString :: forall a. GHC.Internal.Base.String -> (CWString -> GHC.Types.IO a) -> GHC.Types.IO a
  withCWStringLen :: forall a. GHC.Internal.Base.String -> (CWStringLen -> GHC.Types.IO a) -> GHC.Types.IO a

module Foreign.C.Types where

-- ignored


module Foreign.Concurrent where
  -- Safety: Safe
  addForeignPtrFinalizer :: forall a. GHC.Internal.ForeignPtr.ForeignPtr a -> GHC.Types.IO () -> GHC.Types.IO ()
  newForeignPtr :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO () -> GHC.Types.IO (GHC.Internal.ForeignPtr.ForeignPtr a)

module Foreign.ForeignPtr where
  type FinalizerEnvPtr :: * -> * -> *
  type FinalizerEnvPtr env a = GHC.Internal.Ptr.FunPtr (GHC.Internal.Ptr.Ptr env -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ())
  type FinalizerPtr :: * -> *
  type FinalizerPtr a = GHC.Internal.Ptr.FunPtr (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ())
  type role ForeignPtr phantom
  type ForeignPtr :: * -> *
  data ForeignPtr a = ...
  addForeignPtrFinalizer :: forall a. FinalizerPtr a -> ForeignPtr a -> GHC.Types.IO ()
  addForeignPtrFinalizerEnv :: forall env a. FinalizerEnvPtr env a -> GHC.Internal.Ptr.Ptr env -> ForeignPtr a -> GHC.Types.IO ()
  castForeignPtr :: forall a b. ForeignPtr a -> ForeignPtr b
  finalizeForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  mallocForeignPtr :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr :: forall a. FinalizerPtr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtrEnv :: forall env a. FinalizerEnvPtr env a -> GHC.Internal.Ptr.Ptr env -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr_ :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  plusForeignPtr :: forall a b. ForeignPtr a -> GHC.Types.Int -> ForeignPtr b
  touchForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  withForeignPtr :: forall a b. ForeignPtr a -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.ForeignPtr.Safe where
  -- Safety: Trustworthy
  type FinalizerEnvPtr :: * -> * -> *
  type FinalizerEnvPtr env a = GHC.Internal.Ptr.FunPtr (GHC.Internal.Ptr.Ptr env -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ())
  type FinalizerPtr :: * -> *
  type FinalizerPtr a = GHC.Internal.Ptr.FunPtr (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ())
  type role ForeignPtr phantom
  type ForeignPtr :: * -> *
  data ForeignPtr a = ...
  addForeignPtrFinalizer :: forall a. FinalizerPtr a -> ForeignPtr a -> GHC.Types.IO ()
  addForeignPtrFinalizerEnv :: forall env a. FinalizerEnvPtr env a -> GHC.Internal.Ptr.Ptr env -> ForeignPtr a -> GHC.Types.IO ()
  castForeignPtr :: forall a b. ForeignPtr a -> ForeignPtr b
  finalizeForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  mallocForeignPtr :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr :: forall a. FinalizerPtr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtrEnv :: forall env a. FinalizerEnvPtr env a -> GHC.Internal.Ptr.Ptr env -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr_ :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (ForeignPtr a)
  touchForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  withForeignPtr :: forall a b. ForeignPtr a -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.ForeignPtr.Unsafe where
  -- Safety: None
  unsafeForeignPtrToPtr :: forall a. GHC.Internal.ForeignPtr.ForeignPtr a -> GHC.Internal.Ptr.Ptr a

module Foreign.Marshal where
  -- Safety: Safe
  type Pool :: *
  newtype Pool = ...
  advancePtr :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Internal.Ptr.Ptr a
  alloca :: forall a b. GHC.Internal.Foreign.Storable.Storable a => (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytes :: forall a b. GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytesAligned :: forall a b. GHC.Types.Int -> GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  calloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  copyArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  copyBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  fillBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Word.Word8 -> GHC.Types.Int -> GHC.Types.IO ()
  finalizerFree :: forall a. GHC.Internal.ForeignPtr.FinalizerPtr a
  free :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ()
  freePool :: Pool -> GHC.Types.IO ()
  fromBool :: forall a. GHC.Internal.Num.Num a => GHC.Types.Bool -> a
  lengthArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO GHC.Types.Int
  malloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  maybeNew :: forall a b. (a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)) -> GHC.Internal.Maybe.Maybe a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  maybePeek :: forall a b. (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Maybe.Maybe b)
  maybeWith :: forall a b c. (a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c) -> GHC.Internal.Maybe.Maybe a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c
  moveArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  moveBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  new :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newPool :: GHC.Types.IO Pool
  peekArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  peekArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  pokeArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  pokeArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  pooledMalloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocBytes :: forall a. Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNew :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledRealloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocBytes :: forall a. Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  realloc :: forall a b. GHC.Internal.Foreign.Storable.Storable b => GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  reallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  reallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  reallocBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwIf :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg_ :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  throwIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwIf_ :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  toBool :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => a -> GHC.Types.Bool
  void :: forall a. GHC.Types.IO a -> GHC.Types.IO ()
  with :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withMany :: forall a b res. (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res
  withPool :: forall b. (Pool -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.Marshal.Alloc where
  -- Safety: Safe
  alloca :: forall a b. GHC.Internal.Foreign.Storable.Storable a => (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytes :: forall a b. GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytesAligned :: forall a b. GHC.Types.Int -> GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  calloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  finalizerFree :: forall a. GHC.Internal.ForeignPtr.FinalizerPtr a
  free :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ()
  malloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  realloc :: forall a b. GHC.Internal.Foreign.Storable.Storable b => GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  reallocBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)

module Foreign.Marshal.Array where
  -- Safety: Safe
  advancePtr :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Internal.Ptr.Ptr a
  allocaArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  callocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  copyArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  lengthArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO GHC.Types.Int
  mallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  moveArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  newArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  peekArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  peekArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  pokeArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  pokeArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  reallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  reallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  withArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.Marshal.Error where
  -- Safety: Safe
  throwIf :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg_ :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  throwIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwIf_ :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  void :: forall a. GHC.Types.IO a -> GHC.Types.IO ()

module Foreign.Marshal.Pool where
  type Pool :: *
  newtype Pool = ...
  freePool :: Pool -> GHC.Types.IO ()
  newPool :: GHC.Types.IO Pool
  pooledMalloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocBytes :: forall a. Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNew :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledRealloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocBytes :: forall a. Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  withPool :: forall b. (Pool -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.Marshal.Safe where
  -- Safety: Safe
  type Pool :: *
  newtype Pool = ...
  advancePtr :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Internal.Ptr.Ptr a
  alloca :: forall a b. GHC.Internal.Foreign.Storable.Storable a => (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytes :: forall a b. GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytesAligned :: forall a b. GHC.Types.Int -> GHC.Types.Int -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  calloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  callocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  copyArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  copyBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  fillBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Word.Word8 -> GHC.Types.Int -> GHC.Types.IO ()
  finalizerFree :: forall a. GHC.Internal.ForeignPtr.FinalizerPtr a
  free :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.IO ()
  freePool :: Pool -> GHC.Types.IO ()
  fromBool :: forall a. GHC.Internal.Num.Num a => GHC.Types.Bool -> a
  lengthArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO GHC.Types.Int
  malloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  mallocBytes :: forall a. GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  maybeNew :: forall a b. (a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)) -> GHC.Internal.Maybe.Maybe a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  maybePeek :: forall a b. (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Maybe.Maybe b)
  maybeWith :: forall a b c. (a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c) -> GHC.Internal.Maybe.Maybe a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c
  moveArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  moveBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  new :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  newPool :: GHC.Types.IO Pool
  peekArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  peekArray0 :: forall a. (GHC.Internal.Foreign.Storable.Storable a, GHC.Classes.Eq a) => a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO [a]
  pokeArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  pokeArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Internal.Ptr.Ptr a -> [a] -> GHC.Types.IO ()
  pooledMalloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledMallocBytes :: forall a. Pool -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNew :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledNewArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> a -> [a] -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledRealloc :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  pooledReallocBytes :: forall a. Pool -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  realloc :: forall a b. GHC.Internal.Foreign.Storable.Storable b => GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  reallocArray :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  reallocArray0 :: forall a. GHC.Internal.Foreign.Storable.Storable a => GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  reallocBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwIf :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO a
  throwIfNeg_ :: forall a. (GHC.Classes.Ord a, GHC.Internal.Num.Num a) => (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  throwIfNull :: forall a. GHC.Internal.Base.String -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a) -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  throwIf_ :: forall a. (a -> GHC.Types.Bool) -> (a -> GHC.Internal.Base.String) -> GHC.Types.IO a -> GHC.Types.IO ()
  toBool :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => a -> GHC.Types.Bool
  void :: forall a. GHC.Types.IO a -> GHC.Types.IO ()
  with :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArray0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen :: forall a b. GHC.Internal.Foreign.Storable.Storable a => [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withArrayLen0 :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> [a] -> (GHC.Types.Int -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withMany :: forall a b res. (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res
  withPool :: forall b. (Pool -> GHC.Types.IO b) -> GHC.Types.IO b

module Foreign.Marshal.Unsafe where
  unsafeLocalState :: forall a. GHC.Types.IO a -> a

module Foreign.Marshal.Utils where
  -- Safety: Safe
  copyBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  fillBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Word.Word8 -> GHC.Types.Int -> GHC.Types.IO ()
  fromBool :: forall a. GHC.Internal.Num.Num a => GHC.Types.Bool -> a
  maybeNew :: forall a b. (a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)) -> GHC.Internal.Maybe.Maybe a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr b)
  maybePeek :: forall a b. (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Internal.Ptr.Ptr a -> GHC.Types.IO (GHC.Internal.Maybe.Maybe b)
  maybeWith :: forall a b c. (a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c) -> GHC.Internal.Maybe.Maybe a -> (GHC.Internal.Ptr.Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c
  moveBytes :: forall a. GHC.Internal.Ptr.Ptr a -> GHC.Internal.Ptr.Ptr a -> GHC.Types.Int -> GHC.Types.IO ()
  new :: forall a. GHC.Internal.Foreign.Storable.Storable a => a -> GHC.Types.IO (GHC.Internal.Ptr.Ptr a)
  toBool :: forall a. (GHC.Classes.Eq a, GHC.Internal.Num.Num a) => a -> GHC.Types.Bool
  with :: forall a b. GHC.Internal.Foreign.Storable.Storable a => a -> (GHC.Internal.Ptr.Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  withMany :: forall a b res. (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res

module Foreign.Ptr where
  type role FunPtr phantom
  type FunPtr :: * -> *
  data FunPtr a = ...
  type IntPtr :: *
  newtype IntPtr = IntPtr GHC.Types.Int
  type role Ptr phantom
  type Ptr :: * -> *
  data Ptr a = ...
  type WordPtr :: *
  newtype WordPtr = WordPtr GHC.Types.Word
  alignPtr :: forall a. Ptr a -> GHC.Types.Int -> Ptr a
  castFunPtr :: forall a b. FunPtr a -> FunPtr b
  castFunPtrToPtr :: forall a b. FunPtr a -> Ptr b
  castPtr :: forall a b. Ptr a -> Ptr b
  castPtrToFunPtr :: forall a b. Ptr a -> FunPtr b
  freeHaskellFunPtr :: forall a. FunPtr a -> GHC.Types.IO ()
  intPtrToPtr :: forall a. IntPtr -> Ptr a
  minusPtr :: forall a b. Ptr a -> Ptr b -> GHC.Types.Int
  nullFunPtr :: forall a. FunPtr a
  nullPtr :: forall a. Ptr a
  plusPtr :: forall a b. Ptr a -> GHC.Types.Int -> Ptr b
  ptrToIntPtr :: forall a. Ptr a -> IntPtr
  ptrToWordPtr :: forall a. Ptr a -> WordPtr
  wordPtrToPtr :: forall a. WordPtr -> Ptr a

module Foreign.Safe where
  -- Safety: Safe
  (!<<.) :: forall a. Bits a => a -> Int -> a
  (!>>.) :: forall a. Bits a => a -> Int -> a
  (.<<.) :: forall a. Bits a => a -> Int -> a
  (.>>.) :: forall a. Bits a => a -> Int -> a
  (.^.) :: forall a. Bits a => a -> a -> a
  type And :: * -> *
  newtype And a = And {getAnd :: a}
  type Bits :: * -> Constraint
  class GHC.Classes.Eq a => Bits a where
    (.&.) :: a -> a -> a
    (.|.) :: a -> a -> a
    xor :: a -> a -> a
    complement :: a -> a
    shift :: a -> Int -> a
    rotate :: a -> Int -> a
    zeroBits :: a
    bit :: Int -> a
    setBit :: a -> Int -> a
    clearBit :: a -> Int -> a
    complementBit :: a -> Int -> a
    testBit :: a -> Int -> GHC.Types.Bool
    bitSizeMaybe :: a -> GHC.Internal.Maybe.Maybe Int
    bitSize :: a -> Int
    isSigned :: a -> GHC.Types.Bool
    shiftL :: a -> Int -> a
    unsafeShiftL :: a -> Int -> a
    shiftR :: a -> Int -> a
    unsafeShiftR :: a -> Int -> a
    rotateL :: a -> Int -> a
    rotateR :: a -> Int -> a
    popCount :: a -> Int
    {-# MINIMAL (.&.), (.|.), xor, complement, (shift | (shiftL, shiftR)), (rotate | (rotateL, rotateR)), bitSize, bitSizeMaybe, isSigned, testBit, bit, popCount #-}
  type FinalizerEnvPtr :: * -> * -> *
  type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> GHC.Types.IO ())
  type FinalizerPtr :: * -> *
  type FinalizerPtr a = FunPtr (Ptr a -> GHC.Types.IO ())
  type FiniteBits :: * -> Constraint
  class Bits b => FiniteBits b where
    finiteBitSize :: b -> Int
    countLeadingZeros :: b -> Int
    countTrailingZeros :: b -> Int
    {-# MINIMAL finiteBitSize #-}
  type role ForeignPtr phantom
  type ForeignPtr :: * -> *
  data ForeignPtr a = ...
  type role FunPtr phantom
  type FunPtr :: * -> *
  data FunPtr a = ...
  type Iff :: * -> *
  newtype Iff a = Iff {getIff :: a}
  type Int :: *
  data Int = ...
  type Int16 :: *
  data Int16 = ...
  type Int32 :: *
  data Int32 = ...
  type Int64 :: *
  data Int64 = ...
  type Int8 :: *
  data Int8 = ...
  type IntPtr :: *
  newtype IntPtr = IntPtr Int
  type Ior :: * -> *
  newtype Ior a = Ior {getIor :: a}
  type Pool :: *
  newtype Pool = ...
  type role Ptr phantom
  type Ptr :: * -> *
  data Ptr a = ...
  type StablePtr :: * -> *
  data StablePtr a = ...
  type Storable :: * -> Constraint
  class Storable a where
    sizeOf :: a -> Int
    alignment :: a -> Int
    peekElemOff :: Ptr a -> Int -> GHC.Types.IO a
    pokeElemOff :: Ptr a -> Int -> a -> GHC.Types.IO ()
    peekByteOff :: forall b. Ptr b -> Int -> GHC.Types.IO a
    pokeByteOff :: forall b. Ptr b -> Int -> a -> GHC.Types.IO ()
    peek :: Ptr a -> GHC.Types.IO a
    poke :: Ptr a -> a -> GHC.Types.IO ()
    {-# MINIMAL sizeOf, alignment, (peek | peekElemOff | peekByteOff), (poke | pokeElemOff | pokeByteOff) #-}
  type Word :: *
  data Word = ...
  type Word16 :: *
  data Word16 = ...
  type Word32 :: *
  data Word32 = ...
  type Word64 :: *
  data Word64 = ...
  type Word8 :: *
  data Word8 = ...
  type WordPtr :: *
  newtype WordPtr = WordPtr Word
  type Xor :: * -> *
  newtype Xor a = Xor {getXor :: a}
  addForeignPtrFinalizer :: forall a. FinalizerPtr a -> ForeignPtr a -> GHC.Types.IO ()
  addForeignPtrFinalizerEnv :: forall env a. FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> GHC.Types.IO ()
  advancePtr :: forall a. Storable a => Ptr a -> Int -> Ptr a
  alignPtr :: forall a. Ptr a -> Int -> Ptr a
  alloca :: forall a b. Storable a => (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray :: forall a b. Storable a => Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaArray0 :: forall a b. Storable a => Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytes :: forall a b. Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  allocaBytesAligned :: forall a b. Int -> Int -> (Ptr a -> GHC.Types.IO b) -> GHC.Types.IO b
  bitDefault :: forall a. (Bits a, GHC.Internal.Num.Num a) => Int -> a
  bitReverse16 :: Word16 -> Word16
  bitReverse32 :: Word32 -> Word32
  bitReverse64 :: Word64 -> Word64
  bitReverse8 :: Word8 -> Word8
  byteSwap16 :: Word16 -> Word16
  byteSwap32 :: Word32 -> Word32
  byteSwap64 :: Word64 -> Word64
  calloc :: forall a. Storable a => GHC.Types.IO (Ptr a)
  callocArray :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  callocArray0 :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  callocBytes :: forall a. Int -> GHC.Types.IO (Ptr a)
  castForeignPtr :: forall a b. ForeignPtr a -> ForeignPtr b
  castFunPtr :: forall a b. FunPtr a -> FunPtr b
  castFunPtrToPtr :: forall a b. FunPtr a -> Ptr b
  castPtr :: forall a b. Ptr a -> Ptr b
  castPtrToFunPtr :: forall a b. Ptr a -> FunPtr b
  castPtrToStablePtr :: forall a. Ptr () -> StablePtr a
  castStablePtrToPtr :: forall a. StablePtr a -> Ptr ()
  copyArray :: forall a. Storable a => Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  copyBytes :: forall a. Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  deRefStablePtr :: forall a. StablePtr a -> GHC.Types.IO a
  fillBytes :: forall a. Ptr a -> Word8 -> Int -> GHC.Types.IO ()
  finalizeForeignPtr :: forall a. ForeignPtr a -> GHC.Types.IO ()
  finalizerFree :: forall a. FinalizerPtr a
  free :: forall a. Ptr a -> GHC.Types.IO ()
  freeHaskellFunPtr :: forall a. FunPtr a -> GHC.Types.IO ()
  freePool :: Pool -> GHC.Types.IO ()
  freeStablePtr :: forall a. StablePtr a -> GHC.Types.IO ()
  fromBool :: forall a. GHC.Internal.Num.Num a => GHC.Types.Bool -> a
  intPtrToPtr :: forall a. IntPtr -> Ptr a
  lengthArray0 :: forall a. (Storable a, GHC.Classes.Eq a) => a -> Ptr a -> GHC.Types.IO Int
  malloc :: forall a. Storable a => GHC.Types.IO (Ptr a)
  mallocArray :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  mallocArray0 :: forall a. Storable a => Int -> GHC.Types.IO (Ptr a)
  mallocBytes :: forall a. Int -> GHC.Types.IO (Ptr a)
  mallocForeignPtr :: forall a. Storable a => GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray :: forall a. Storable a => Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrArray0 :: forall a. Storable a => Int -> GHC.Types.IO (ForeignPtr a)
  mallocForeignPtrBytes :: forall a. Int -> GHC.Types.IO (ForeignPtr a)
  maybeNew :: forall a b. (a -> GHC.Types.IO (Ptr b)) -> GHC.Internal.Maybe.Maybe a -> GHC.Types.IO (Ptr b)
  maybePeek :: forall a b. (Ptr a -> GHC.Types.IO b) -> Ptr a -> GHC.Types.IO (GHC.Internal.Maybe.Maybe b)
  maybeWith :: forall a b c. (a -> (Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c) -> GHC.Internal.Maybe.Maybe a -> (Ptr b -> GHC.Types.IO c) -> GHC.Types.IO c
  minusPtr :: forall a b. Ptr a -> Ptr b -> Int
  moveArray :: forall a. Storable a => Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  moveBytes :: forall a. Ptr a -> Ptr a -> Int -> GHC.Types.IO ()
  new :: forall a. Storable a => a -> GHC.Types.IO (Ptr a)
  newArray :: forall a. Storable a => [a] -> GHC.Types.IO (Ptr a)
  newArray0 :: forall a. Storable a => a -> [a] -> GHC.Types.IO (Ptr a)
  newForeignPtr :: forall a. FinalizerPtr a -> Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtrEnv :: forall env a. FinalizerEnvPtr env a -> Ptr env -> Ptr a -> GHC.Types.IO (ForeignPtr a)
  newForeignPtr_ :: forall a. Ptr a -> GHC.Types.IO (ForeignPtr a)
  newPool :: GHC.Types.IO Pool
  newStablePtr :: forall a. a -> GHC.Types.IO (StablePtr a)
  nullFunPtr :: forall a. FunPtr a
  nullPtr :: forall a. Ptr a
  oneBits :: forall a. FiniteBits a => a
  peekArray :: forall a. Storable a => Int -> Ptr a -> GHC.Types.IO [a]
  peekArray0 :: forall a. (Storable a, GHC.Classes.Eq a) => a -> Ptr a -> GHC.Types.IO [a]
  plusForeignPtr :: forall a b. ForeignPtr a -> Int -> ForeignPtr b
  plusPtr :: forall a b. Ptr a -> Int -> Ptr b
  pokeArray :: forall a. Storable a => Ptr a -> [a] -> GHC.Types.IO ()
  pokeArray0 :: forall a. Storable a => a -> Ptr a -> [a] -> GHC.Types.IO ()
  pooledMalloc :: forall a. Storable a => Pool -> GHC.Types.IO (Ptr a)
  pooledMallocArray :: forall a. Storable a => Pool -> Int -> GHC.Types.IO (Ptr a)
  pooledMallocArray0 :: forall a. Storable a => Pool -> Int -> GHC.Types.IO (Ptr a)
  pooledMallocBytes :: forall a. Pool -> Int -> GHC.Types.IO (Ptr a)