- Packageunliftio-0.2.25.1
- Exports327
- LanguageHaskell2010
- LicenceMIT
- SourceForeign.hs
Re-exported modules
62 declarationsDefault implementation for popCount.
This implementation is intentionally naive. Instances are expected to provide an optimized implementation for their size.
Default implementation for testBit.
Note that: testBitDefault x i = (x .&. bit i) /= 0
Attempt to convert an Integral type a to an Integral type b using
the size of the types as measured by Bits methods.
A simpler version of this function is:
toIntegral :: (Integral a, Integral b) => a -> Maybe b
toIntegral x
| toInteger x == toInteger y = Just y
| otherwise = Nothing
where
y = fromIntegral xThis version requires going through Integer, which can be inefficient.
However, toIntegralSized is optimized to allow GHC to statically determine
the relative type sizes (as measured by bitSizeMaybe and isSigned) and
avoid going through Integer for many types. (The implementation uses
fromIntegral, which is itself optimized with rules for base types but may
go through Integer for some type pairs.)
Infix version of unsafeShiftL.
Infix version of unsafeShiftR.
Infix version of shiftL.
Infix version of shiftR.
Infix version of xor.
A more concise version of complement zeroBits.
complement (zeroBits :: Word) == (oneBits :: Word)True
complement (oneBits :: Word) == (zeroBits :: Word)True
Note
The constraint on oneBits is arguably too strong. However, as some types
(such as Natural) have undefined complement, this is the only safe
choice.
The Bits class defines bitwise operations over integral types.
Bits are numbered from 0 with bit 0 being the least significant bit.
Methods
(.&.) :: a -> a -> ainfixl 7Bitwise "and"
(.|.) :: a -> a -> ainfixl 5Bitwise "or"
xor :: a -> a -> ainfixl 6Bitwise "xor"
complement :: a -> aReverse all the bits in the argument
shift :: a -> Int -> ainfixl 8shift x ishiftsxleft byibits ifiis positive, or right by-ibits otherwise. Right shifts perform sign extension on signed number types; i.e. they fill the top bits with 1 if thexis negative and with 0 otherwise.An instance can define either this unified shift or shiftL and shiftR, depending on which is more convenient for the type in question.
rotate :: a -> Int -> ainfixl 8zeroBits :: azeroBits is the value with all bits unset.
The following laws ought to hold (for all valid bit indices
n):clearBit zeroBits n == zeroBitssetBit zeroBits n == bit ntestBit zeroBits n == FalsepopCount zeroBits == 0
This method uses
clearBit (bit 0) 0as its default implementation (which ought to be equivalent to zeroBits for types which possess a 0th bit).bit :: Int -> asetBit :: a -> Int -> ax `setBit` iis the same asx .|. bit iclearBit :: a -> Int -> ax `clearBit` iis the same asx .&. complement (bit i)complementBit :: a -> Int -> ax `complementBit` iis the same asx `xor` bit itestBit :: a -> Int -> Boolx `testBit` iis the same asx .&. bit n /= 0In other words it returns True if the bit at offset @n is set.
Can be implemented using
testBitDefaultifais also an instance of Num.bitSizeMaybe :: a -> Maybe IntReturn the number of bits in the type of the argument. The actual value of the argument is ignored. Returns Nothing for types that do not have a fixed bitsize, like Integer.
bitSize :: a -> IntReturn the number of bits in the type of the argument. The actual value of the argument is ignored. The function bitSize is undefined for types that do not have a fixed bitsize, like Integer.
Default implementation based upon bitSizeMaybe provided since 4.12.0.0.
isSigned :: a -> BoolReturn True if the argument is a signed type. The actual value of the argument is ignored
shiftL :: a -> Int -> ainfixl 8unsafeShiftL :: a -> Int -> ashiftR :: a -> Int -> ainfixl 8Shift the first argument right by the specified number of bits. The result is undefined for negative shift amounts and shift amounts greater or equal to the bitSize. Some instances may throw an Overflow exception if given a negative input.
Right shifts perform sign extension on signed number types; i.e. they fill the top bits with 1 if the
xis negative and with 0 otherwise.An instance can define either this and shiftL or the unified shift, depending on which is more convenient for the type in question.
unsafeShiftR :: a -> Int -> aShift the first argument right by the specified number of bits, which must be non-negative and smaller than the number of bits in the type.
Right shifts perform sign extension on signed number types; i.e. they fill the top bits with 1 if the
xis negative and with 0 otherwise.Defaults to shiftR unless defined explicitly by an instance.
rotateL :: a -> Int -> ainfixl 8rotateR :: a -> Int -> ainfixl 8popCount :: a -> IntReturn the number of set bits in the argument. This number is known as the population count or the Hamming weight.
Can be implemented using
popCountDefaultifais also an instance of Num.
Instances70Bits, …
Bits IntegerDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsBits NaturalDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsBits EventTypeDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.EPollBits EventDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.PollBits CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrBits WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrBits Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits CBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CBlkSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CClockIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CDevDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CFsBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CFsFilCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CGidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CInoDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CKeyDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CModeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CNfdsDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CNlinkDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits COffDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CPidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CRLimDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CSocklenDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CSsizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CTcflagDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits CUidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits FdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesBits BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsInterpret Bool as 1-bit bit-field
Bits IntDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsBits WordDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsBits Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.CommonBits StatxFlagsDefined in unix-2.8.8.0 · System.Posix.Files.CommonBits StatxMaskDefined in unix-2.8.8.0 · System.Posix.Files.CommonBits CAtDefined in unliftio-0.2.25.1 · UnliftIO.IO.File.PosixBits CFlagDefined in unliftio-0.2.25.1 · UnliftIO.IO.File.PosixBits a => Bits (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Identity a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.IdentityBits a => Bits (Down a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.OrdBits a => Bits (Const a b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.Const
The FiniteBits class denotes types with a finite, fixed number of bits.
Methods
finiteBitSize :: b -> IntReturn the number of bits in the type of the argument. The actual value of the argument is ignored. Moreover, finiteBitSize is total, in contrast to the deprecated bitSize function it replaces.
finiteBitSize = bitSize bitSizeMaybe = Just . finiteBitSizecountLeadingZeros :: b -> IntCount number of zero bits preceding the most significant set bit.
countLeadingZeros (zeroBits :: a) = finiteBitSize (zeroBits :: a)countLeadingZeros can be used to compute log base 2 via
logBase2 x = finiteBitSize x - 1 - countLeadingZeros xNote: The default implementation for this method is intentionally naive. However, the instances provided for the primitive integral types are implemented using CPU specific machine instructions.
countTrailingZeros :: b -> IntCount number of zero bits following the least significant set bit.
countTrailingZeros (zeroBits :: a) = finiteBitSize (zeroBits :: a) countTrailingZeros . negate = countTrailingZerosThe related find-first-set operation can be expressed in terms of countTrailingZeros as follows
findFirstSet x = 1 + countTrailingZeros xNote: The default implementation for this method is intentionally naive. However, the instances provided for the primitive integral types are implemented using CPU specific machine instructions.
Instances63FiniteBits, …
FiniteBits EventTypeDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.EPollFiniteBits EventDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.PollFiniteBits CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrFiniteBits WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrFiniteBits Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits CBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CBlkSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CClockIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CDevDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CFsBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CFsFilCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CGidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CInoDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CKeyDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CModeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CNfdsDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CNlinkDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits COffDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CPidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CRLimDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CSocklenDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CSsizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CTcflagDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits CUidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits FdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesFiniteBits BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsFiniteBits IntDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsFiniteBits WordDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsFiniteBits Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits a => FiniteBits (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Identity a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.IdentityFiniteBits a => FiniteBits (Down a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.OrdFiniteBits a => FiniteBits (Const a b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.Const
Monoid under bitwise AND.
getAnd (And 0xab <> And 0x12) :: Word82
Instances9Bounded, Enum, Eq, Read, Show, Semigroup, …
Bounded a => Bounded (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEnum a => Enum (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEq a => Eq (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsRead a => Read (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsShow a => Show (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Semigroup (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => Monoid (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsThis constraint is arguably too strong. However, as some types (such as
Natural) have undefined complement, this is the only safe choice.Bits a => Bits (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (And a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Bits
Monoid under bitwise 'equality'; defined as 1 if the corresponding
bits match, and 0 otherwise.
getIff (Iff 0xab <> Iff 0x12) :: Word870
Instances9Bounded, Enum, Eq, Read, Show, Semigroup, …
Bounded a => Bounded (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEnum a => Enum (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEq a => Eq (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsRead a => Read (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsShow a => Show (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => Semigroup (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsThis constraint is arguably too strong. However, as some types (such as
Natural) have undefined complement, this is the only safe choice.FiniteBits a => Monoid (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsThis constraint is arguably too strong. However, as some types (such as
Natural) have undefined complement, this is the only safe choice.Bits a => Bits (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Iff a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Bits
Monoid under bitwise inclusive OR.
getIor (Ior 0xab <> Ior 0x12) :: Word8187
Instances9Bounded, Enum, Eq, Read, Show, Semigroup, …
Bounded a => Bounded (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEnum a => Enum (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEq a => Eq (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsRead a => Read (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsShow a => Show (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Semigroup (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Monoid (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Ior a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Bits
Monoid under bitwise XOR.
getXor (Xor 0xab <> Xor 0x12) :: Word8185
Instances9Bounded, Enum, Eq, Read, Show, Semigroup, …
Bounded a => Bounded (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEnum a => Enum (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsEq a => Eq (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsRead a => Read (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsShow a => Show (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Semigroup (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Monoid (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsBits a => Bits (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.BitsFiniteBits a => FiniteBits (Xor a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Bits
16-bit signed integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEnum Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEq Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIntegral Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntData Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntOrd Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntRead Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntReal Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntShow Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIx Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.IntStorable Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Int16Defined in base-4.22.0.0 · Text.PrintfNFData Int16Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Int16Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Int16Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Int16Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Int16 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Int16 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
32-bit signed integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEnum Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEq Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIntegral Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntData Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntOrd Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntRead Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntReal Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntShow Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIx Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.IntStorable Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Int32Defined in base-4.22.0.0 · Text.PrintfNFData Int32Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Int32Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Int32Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Int32Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Int32 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Int32 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
64-bit signed integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEnum Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEq Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIntegral Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntData Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntOrd Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntRead Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntReal Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntShow Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIx Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.IntStorable Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Int64Defined in base-4.22.0.0 · Text.PrintfNFData Int64Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Int64Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Int64Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Int64Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Int64 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Int64 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
8-bit signed integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEnum Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntEq Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIntegral Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntData Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntOrd Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntRead Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntReal Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntShow Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntIx Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntBits Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntFiniteBits Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.IntStorable Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Int8Defined in base-4.22.0.0 · Text.PrintfNFData Int8Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Int8Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Int8Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Int8Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Int8 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Int8 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
A fixed-precision integer type with at least the range [-2^29 .. 2^29-1].
The exact range for a given implementation can be determined by using
Prelude.minBound and Prelude.maxBound from the Prelude.Bounded class.
Instances36Bounded, Enum, Integral, Data, Num, Read, …
Bounded IntDefined in ghc-internal-9.1401.0 · GHC.Internal.EnumEnum IntDefined in ghc-internal-9.1401.0 · GHC.Internal.EnumEq IntDefined in ghc-internal-9.1401.0 · GHC.Internal.ClassesIntegral IntDefined in ghc-internal-9.1401.0 · GHC.Internal.RealData IntDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum IntDefined in ghc-internal-9.1401.0 · GHC.Internal.NumOrd IntDefined in ghc-internal-9.1401.0 · GHC.Internal.ClassesRead IntDefined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal IntDefined in ghc-internal-9.1401.0 · GHC.Internal.RealShow IntDefined in ghc-internal-9.1401.0 · GHC.Internal.ShowIx IntDefined in ghc-internal-9.1401.0 · GHC.Internal.IxBits IntDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsFiniteBits IntDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsStorable IntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg IntDefined in base-4.22.0.0 · Text.PrintfNFData IntDefined in deepseq-1.5.1.0 · Control.DeepSeqPretty IntDefined in pretty-1.1.3.6 · Text.PrettyPrint.Annotated.HughesPJClassPretty IntDefined in pretty-1.1.3.6 · Text.PrettyPrint.HughesPJClassBinary IntDefined in binary-0.8.9.3 · Data.Binary.ClassShowPadded IntDefined in time-1.15 · Data.Time.Calendar.PrivateHashable IntDefined in hashable-1.5.1.0 · Data.Hashable.ClassLift IntDefined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray IntDefined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Int IODefined in array-0.5.8.0 · Data.Array.IO.InternalsGeneric1 (URec Int)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsFoldable UIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.FoldableTraversable UIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.TraversableMArray (STUArray s) Int (ST s)Defined in array-0.5.8.0 · Data.Array.BaseFunctor (URec Int)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsEq (URec Int p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsOrd (URec Int p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsShow (URec Int p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsGeneric (URec Int p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Genericstype Rep (URec Int p) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UInt"
'PrefixI 'True) (S1 ('MetaSel ('Just"uInt#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UInt))type Rep1 (URec Int) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UInt"
'PrefixI 'True) (S1 ('MetaSel ('Just"uInt#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UInt))data URec IntDefined in ghc-internal-9.1401.0 · GHC.Internal.GenericsUsed for marking occurrences of Int#
Reverse the order of the bits in a Word16.
Reverse the order of the bits in a Word32.
Reverse the order of the bits in a Word64.
Reverse the order of the bits in a Word8.
Reverse order of bytes in Word16.
Reverse order of bytes in Word32.
Reverse order of bytes in Word64.
16-bit unsigned integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEnum Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEq Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIntegral Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordData Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordOrd Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordRead Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordShow Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIx Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.WordStorable Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Word16Defined in base-4.22.0.0 · Text.PrintfNFData Word16Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Word16Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Word16Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Word16Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Word16 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Word16 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
32-bit unsigned integer type
Instances23Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEnum Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEq Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIntegral Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordData Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordOrd Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordRead Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordShow Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIx Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.WordStorable Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Word32Defined in base-4.22.0.0 · Text.PrintfNFData Word32Defined in deepseq-1.5.1.0 · Control.DeepSeqMantissa Word32Defined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.InternalBinary Word32Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Word32Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Word32Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Word32 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Word32 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
64-bit unsigned integer type
Instances23Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEnum Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEq Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIntegral Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordData Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordOrd Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordRead Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordShow Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIx Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.WordStorable Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Word64Defined in base-4.22.0.0 · Text.PrintfNFData Word64Defined in deepseq-1.5.1.0 · Control.DeepSeqMantissa Word64Defined in bytestring-0.12.2.0 · Data.ByteString.Builder.RealFloat.InternalBinary Word64Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Word64Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Word64Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Word64 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Word64 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
8-bit unsigned integer type
Instances22Bounded, Enum, Eq, Integral, Data, Num, …
Bounded Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEnum Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordEq Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIntegral Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordData Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordOrd Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordRead Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordShow Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordIx Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordBits Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordFiniteBits Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.WordStorable Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg Word8Defined in base-4.22.0.0 · Text.PrintfNFData Word8Defined in deepseq-1.5.1.0 · Control.DeepSeqBinary Word8Defined in binary-0.8.9.3 · Data.Binary.ClassHashable Word8Defined in hashable-1.5.1.0 · Data.Hashable.ClassLift Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray Word8Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Word8 IODefined in array-0.5.8.0 · Data.Array.IO.InternalsMArray (STUArray s) Word8 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
Instances33Bounded, Enum, Integral, Data, Num, Read, …
Bounded WordDefined in ghc-internal-9.1401.0 · GHC.Internal.EnumEnum WordDefined in ghc-internal-9.1401.0 · GHC.Internal.EnumEq WordDefined in ghc-internal-9.1401.0 · GHC.Internal.ClassesIntegral WordDefined in ghc-internal-9.1401.0 · GHC.Internal.RealData WordDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum WordDefined in ghc-internal-9.1401.0 · GHC.Internal.NumOrd WordDefined in ghc-internal-9.1401.0 · GHC.Internal.ClassesRead WordDefined in ghc-internal-9.1401.0 · GHC.Internal.ReadReal WordDefined in ghc-internal-9.1401.0 · GHC.Internal.RealShow WordDefined in ghc-internal-9.1401.0 · GHC.Internal.ShowIx WordDefined in ghc-internal-9.1401.0 · GHC.Internal.IxBits WordDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsFiniteBits WordDefined in ghc-internal-9.1401.0 · GHC.Internal.BitsStorable WordDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorablePrintfArg WordDefined in base-4.22.0.0 · Text.PrintfNFData WordDefined in deepseq-1.5.1.0 · Control.DeepSeqBinary WordDefined in binary-0.8.9.3 · Data.Binary.ClassHashable WordDefined in hashable-1.5.1.0 · Data.Hashable.ClassLift WordDefined in ghc-internal-9.1401.0 · GHC.Internal.TH.LiftIArray UArray WordDefined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray Word IODefined in array-0.5.8.0 · Data.Array.IO.InternalsGeneric1 (URec Word)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsFoldable UWordDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.FoldableTraversable UWordDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.TraversableMArray (STUArray s) Word (ST s)Defined in array-0.5.8.0 · Data.Array.BaseFunctor (URec Word)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsEq (URec Word p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsOrd (URec Word p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsShow (URec Word p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsGeneric (URec Word p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Genericstype Rep (URec Word p) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UWord"
'PrefixI 'True) (S1 ('MetaSel ('Just"uWord#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UWord))type Rep1 (URec Word) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UWord"
'PrefixI 'True) (S1 ('MetaSel ('Just"uWord#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UWord))data URec WordDefined in ghc-internal-9.1401.0 · GHC.Internal.GenericsUsed for marking occurrences of Word#
Haskell type representing the C bool type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CBoolDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C char type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CCharDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C clock_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances9Enum, Eq, Num, Ord, Read, Real, …
Enum CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CClockDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C double type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances13Enum, Eq, Floating, Fractional, Num, Ord, …
Enum CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFloating CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFractional CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRealFloat CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRealFrac CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CDoubleDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C FILE type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Haskell type representing the C float type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances13Enum, Eq, Floating, Fractional, Num, Ord, …
Enum CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFloating CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFractional CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRealFloat CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRealFrac CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CFloatDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C fpos_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Haskell type representing the C int type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CIntDefined in deepseq-1.5.1.0 · Control.DeepSeq
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CIntMaxDefined in deepseq-1.5.1.0 · Control.DeepSeq
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CIntPtrDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C jmp_buf type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Haskell type representing the C long long type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CLLongDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C long type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CLongDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C ptrdiff_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CPtrdiffDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C signed char type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CSCharDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C suseconds_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Constructors
Instances9Enum, Eq, Num, Ord, Read, Real, …
Enum CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CSUSecondsDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C short type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CShortDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C sig_atomic_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
See Note [Lack of signals on wasm32-wasi].
Constructors
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CSigAtomicDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C size_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CSizeDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C time_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances9Enum, Eq, Num, Ord, Read, Real, …
Enum CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CTimeDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C unsigned char type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUCharDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C unsigned int type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUIntDefined in deepseq-1.5.1.0 · Control.DeepSeq
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUIntMaxDefined in deepseq-1.5.1.0 · Control.DeepSeq
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUIntPtrDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C unsigned long long type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CULLongDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C unsigned long type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CULongDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C useconds_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances9Enum, Eq, Num, Ord, Read, Real, …
Enum CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUSecondsDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C unsigned short type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CUShortDefined in deepseq-1.5.1.0 · Control.DeepSeq
Haskell type representing the C wchar_t type.
(The concrete types of Foreign.C.Types#platform are platform-specific.)
Instances14Bounded, Enum, Eq, Integral, Num, Ord, …
Bounded CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEnum CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesEq CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIntegral CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNum CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesOrd CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesRead CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesReal CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesShow CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesIx CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesBits CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesFiniteBits CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesNFData CWcharDefined in deepseq-1.5.1.0 · Control.DeepSeq
Unlifted Foreign.C.String
29 declarationsA C string is a reference to an array of C characters terminated by NUL.
A string with explicit length information in bytes instead of a terminating NUL (allowing NUL characters in the middle of the string).
Lifted peekCString.
Lifted peekCStringLen.
Lifted newCString.
Lifted newCStringLen.
Unlifted withCString.
Unlifted withCStringLen.
Convert a Haskell character to a C character. This function is only safe on the first 256 characters.
Convert a C byte, representing a Latin-1 character, to the corresponding Haskell character.
Convert a Haskell character to a C unsigned char.
This function is only safe on the first 256 characters.
Convert a C unsigned char, representing a Latin-1 character, to
the corresponding Haskell character.
Convert a Haskell character to a C signed char.
This function is only safe on the first 256 characters.
Convert a C signed char, representing a Latin-1 character, to the
corresponding Haskell character.
Lifted peekCAString.
Lifted peekCAStringLen.
Lifted newCAString.
Lifted newCAStringLen.
Unlifted withCAString.
Unlifted withCAStringLen.
A C wide string is a reference to an array of C wide characters terminated by NUL.
A wide character string with explicit length information in CWchars instead of a terminating NUL (allowing NUL characters in the middle of the string).
Lifted peekCWString.
Lifted peekCWStringLen.
Lifted newCWString.
Lifted newCWStringLen.
Unlifted withCWString.
Unlifted withCWStringLen.
Unlifted Foreign.C.Error
127 declarationsHaskell representation for errno values.
The implementation is deliberately exposed, to allow users to add
their own definitions of Errno values.
Lifted getErrno.
Lifted resetErrno.
errnoToIOError Lifted throwErrno.
Unlifted throwErrnoIf.
Unlifted throwErrnoIf_.
Unlifted throwErrnoIfRetry.
Unlifted throwErrnoIfRetry_.
Unlifted throwErrnoIfMinus1.
Unlifted throwErrnoIfMinus1_
Unlifted throwErrnoIfMinus1Retry.
Unlifted throwErrnoIfMinus1Retry_.
Unlifted throwErrnoIfNull.
Unlifted throwErrnoIfNullRetry.
Unlifted throwErrnoIfRetryMayBlock.
Unlifted throwErrnoIfRetryMayBlock_.
Unlifted throwErrnoIfMinus1RetryMayBlock.
Unlifted throwErrnoIfMinus1RetryMayBlock_
Unlifted throwErrnoIfNullRetryMayBlock.
Lifted throwErrnoPath.
Unlifted throwErrnoPathIf.
Unlifted throwErrnoPathIf_.
Unlifted throwErrnoPathIfNull.
Unlifted throwErrnoPathIfMinus1.
Unlifted throwErrnoPathIfMinus1_.
Unlifted Foreign.Ptr
18 declarationsA value of type Ptr a represents a pointer to an object, or an
array of objects, which may be marshalled to or from Haskell values
of type a.
The type a will often be an instance of class
Storable which provides the marshalling operations.
However this is not essential, and you can provide your own operations
to access the pointer. For example you might write small foreign
functions to get or set the fields of a C struct.
Instances22NFData1, IArray, Generic1, Data, Foldable, Traversable, …
NFData1 PtrDefined in deepseq-1.5.1.0 · Control.DeepSeqIArray UArray (Ptr a)Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray (Ptr a) IODefined in array-0.5.8.0 · Data.Array.IO.InternalsGeneric1 (URec (Ptr ()))Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsEq (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrData a => Data (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataOrd (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrShow (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrFoldable UAddrDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.FoldableTraversable UAddrDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.TraversableStorable (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableNFData (Ptr a)Defined in deepseq-1.5.1.0 · Control.DeepSeqHashable (Ptr a)Defined in hashable-1.5.1.0 · Data.Hashable.ClassMArray (STUArray s) (Ptr a) (ST s)Defined in array-0.5.8.0 · Data.Array.BaseFunctor (URec (Ptr ()))Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsShow (UAddr p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsEq (URec (Ptr ()) p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsOrd (URec (Ptr ()) p)Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsGeneric (URec (Ptr ()) p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Genericstype Rep (URec (Ptr ()) p) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UAddr"
'PrefixI 'True) (S1 ('MetaSel ('Just"uAddr#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UAddr))type Rep1 (URec (Ptr ())) = D1 ('MetaDataDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics"URec"
"GHC.Internal.Generics"
"ghc-internal"
'False) (C1 ('MetaCons"UAddr"
'PrefixI 'True) (S1 ('MetaSel ('Just"uAddr#"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UAddr))data URec (Ptr ())Defined in ghc-internal-9.1401.0 · GHC.Internal.GenericsUsed for marking occurrences of Addr#
The castPtr function casts a pointer from one type to another.
Advances the given address by the given offset in bytes.
Given an arbitrary address and an alignment constraint,
alignPtr yields the next higher address that fulfills the
alignment constraint. An alignment constraint x is fulfilled by
any address divisible by x. This operation is idempotent.
Computes the offset required to get from the second to the first argument. We have
p2 == p1 `plusPtr` (p2 `minusPtr` p1)A value of type FunPtr a is a pointer to a function callable
from foreign code. The type a will normally be a foreign type,
a function type with zero or more arguments where
the argument types are marshallable foreign types, i.e. Char, Int, Double, Float, Bool, Int8, Int16, Int32, Int64, Word8, Word16, Word32, Word64,
Ptr a,FunPtr a,StablePtr aor a renaming of any of these usingnewtype.the return type is either a marshallable foreign type or has the form
IO twheretis a marshallable foreign type or().
A value of type FunPtr a may be a pointer to a foreign function,
either returned by another foreign function or imported with a
a static address import like
foreign import ccall "stdlib.h &free"
p_free :: FunPtr (Ptr a -> IO ())or a pointer to a Haskell function created using a wrapper stub declared to produce a FunPtr of the correct type. For example:
type Compare = Int -> Int -> Bool
foreign import ccall "wrapper"
mkCompare :: Compare -> IO (FunPtr Compare)Calls to wrapper stubs like mkCompare allocate storage, which
should be released with freeHaskellFunPtr when no
longer required.
To convert FunPtr values to corresponding Haskell functions, one can define a dynamic stub for the specific foreign type, e.g.
type IntFunction = CInt -> IO ()
foreign import ccall "dynamic"
mkFun :: FunPtr IntFunction -> IntFunctionInstances10NFData1, IArray, Eq, Ord, Show, Storable, …
NFData1 FunPtrDefined in deepseq-1.5.1.0 · Control.DeepSeqIArray UArray (FunPtr a)Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray (FunPtr a) IODefined in array-0.5.8.0 · Data.Array.IO.InternalsEq (FunPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrOrd (FunPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrShow (FunPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.PtrStorable (FunPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableNFData (FunPtr a)Defined in deepseq-1.5.1.0 · Control.DeepSeqHashable (FunPtr a)Defined in hashable-1.5.1.0 · Data.Hashable.ClassMArray (STUArray s) (FunPtr a) (ST s)Defined in array-0.5.8.0 · Data.Array.Base
The constant nullFunPtr contains a distinguished value of FunPtr that is not associated with a valid memory location.
Lifted freeHaskellFunPtr.
A signed integral type that can be losslessly converted to and from
Ptr. This type is also compatible with the C99 type intptr_t, and
can be marshalled to and from that type safely.
Instances15Bounded, Enum, Eq, Integral, Data, Num, …
Bounded IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrEnum IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrEq IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrIntegral IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrData IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrOrd IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrRead IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrReal IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrShow IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrIx IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrBits IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrFiniteBits IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrStorable IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrHashable IntPtrDefined in hashable-1.5.1.0 · Data.Hashable.Class
casts a Ptr to an IntPtr
casts an IntPtr to a Ptr
An unsigned integral type that can be losslessly converted to and from
Ptr. This type is also compatible with the C99 type uintptr_t, and
can be marshalled to and from that type safely.
Instances15Bounded, Enum, Eq, Integral, Data, Num, …
Bounded WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrEnum WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrEq WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrIntegral WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrData WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataNum WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrOrd WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrRead WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrReal WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrShow WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrIx WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrBits WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrFiniteBits WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrStorable WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrHashable WordPtrDefined in hashable-1.5.1.0 · Data.Hashable.Class
casts a Ptr to a WordPtr
casts a WordPtr to a Ptr
Unlifted Foreign.ForeignPtr
20 declarationsThe type ForeignPtr represents references to objects that are
maintained in a foreign language, i.e., that are not part of the
data structures usually managed by the Haskell storage manager.
The essential difference between ForeignPtrs and vanilla memory
references of type Ptr a is that the former may be associated
with finalizers. A finalizer is a routine that is invoked when
the Haskell storage manager detects that - within the Haskell heap
and stack - there are no more references left that are pointing to
the ForeignPtr. Typically, the finalizer will, then, invoke
routines in the foreign language that free the resources bound by
the foreign object.
The ForeignPtr is parameterised in the same way as Ptr. The type argument of ForeignPtr should normally be an instance of class Storable.
Instances4Eq, Data, Ord, Show
Eq (ForeignPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.ForeignPtrData a => Data (ForeignPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.DataOrd (ForeignPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.ForeignPtrShow (ForeignPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.ForeignPtr
A finalizer is represented as a pointer to a foreign function that, at finalisation time, gets as an argument a plain pointer variant of the foreign pointer that the finalizer is associated with.
Note that the foreign function must either use the ccall or the capi calling convention.
Lifted newForeignPtr.
Lifted newForeignPtr_.
Lifted addForeignPtrFinalizer.
Lifted newForeignPtrEnv.
Lifted addForeignPtrFinalizerEnv.
Unlifted withForeignPtr.
Lifted finalizeForeignPtr.
Lifted touchForeignPtr.
This function casts a ForeignPtr parameterised by one type into another type.
Advances the given address by the given offset in bytes.
The new ForeignPtr shares the finalizer of the original, equivalent from a finalization standpoint to just creating another reference to the original. That is, the finalizer will not be called before the new ForeignPtr is unreachable, nor will it be called an additional time due to this call, and the finalizer will be called with the same address that it would have had this call not happened, *not* the new address.
Lifted mallocForeignPtr.
Lifted mallocForeignPtrBytes.
Lifted mallocForeignPtrArray.
Lifted mallocForeignPtrArray0.
Unlifted newForeignPtr.
Unlifted addForeignPtrFinalizer.
This function extracts the pointer component of a foreign pointer. This is a potentially dangerous operations, as if the argument to unsafeForeignPtrToPtr is the last usage occurrence of the given foreign pointer, then its finalizer(s) will be run, which potentially invalidates the plain pointer just obtained. Hence, touchForeignPtr must be used wherever it has to be guaranteed that the pointer lives on - i.e., has another usage occurrence.
To avoid subtle coding errors, hand written marshalling code should preferably use withForeignPtr rather than combinations of unsafeForeignPtrToPtr and touchForeignPtr. However, the latter routines are occasionally preferred in tool generated marshalling code.
Unlifted Foreign.StablePtr
6 declarationsA stable pointer is a reference to a Haskell expression that is guaranteed not to be affected by garbage collection, i.e., it will neither be deallocated nor will the value of the stable pointer itself change during garbage collection (ordinary references may be relocated during garbage collection). Consequently, stable pointers can be passed to foreign code, which can treat it as an opaque reference to a Haskell value.
The StablePtr 0 is reserved for representing NULL in foreign code.
A value of type StablePtr a is a stable pointer to a Haskell
expression of type a.
Instances5IArray, Eq, Storable, MArray
IArray UArray (StablePtr a)Defined in array-0.5.8.0 · Data.Array.BaseMArray IOUArray (StablePtr a) IODefined in array-0.5.8.0 · Data.Array.IO.InternalsEq (StablePtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.StableStorable (StablePtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableMArray (STUArray s) (StablePtr a) (ST s)Defined in array-0.5.8.0 · Data.Array.Base
Lifted newStablePtr.
Lifted deRefStablePtr.
Lifted freeStablePtr.
Coerce a stable pointer to an address. No guarantees are made about the resulting value, except that the original stable pointer can be recovered by castPtrToStablePtr. In particular, the address might not refer to an accessible memory location and any attempt to pass it to the member functions of the class Storable leads to undefined behaviour.
The inverse of castStablePtrToPtr, i.e., we have the identity
sp == castPtrToStablePtr (castStablePtrToPtr sp)for any stable pointer sp on which freeStablePtr has
not been executed yet. Moreover, castPtrToStablePtr may
only be applied to pointers that have been produced by
castStablePtrToPtr.
Unlifted Foreign.Storable
1 declarationThe member functions of this class facilitate writing values of primitive types to raw memory (which may have been allocated with the above mentioned routines) and reading values from blocks of raw memory. The class, furthermore, includes support for computing the storage requirements and alignment restrictions of storable types.
Memory addresses are represented as values of type Ptr a, for some
a which is an instance of class Storable. The type argument to
Ptr helps provide some valuable type safety in FFI code (you can't
mix pointers of different types without an explicit cast), while
helping the Haskell type system figure out which marshalling method is
needed for a given pointer.
All marshalling between Haskell and a foreign language ultimately
boils down to translating Haskell data structures into the binary
representation of a corresponding data structure of the foreign
language and vice versa. To code this marshalling in Haskell, it is
necessary to manipulate primitive data types stored in unstructured
memory blocks. The class Storable facilitates this manipulation on
all types for which it is instantiated, which are the standard basic
types of Haskell, the fixed size Int types (Int8, Int16,
Int32, Int64), the fixed size Word types (Word8, Word16,
Word32, Word64), StablePtr, all types from Foreign.C.Types,
as well as Ptr.
Methods
sizeOf :: a -> IntComputes the storage requirements (in bytes) of the argument. The value of the argument is not used.
alignment :: a -> IntComputes the alignment constraint of the argument. An alignment constraint
xis fulfilled by any address divisible byx. The alignment must be a power of two if this instance is to be used withallocaorallocaArray. The value of the argument is not used.peekElemOff :: Ptr a -> Int -> IO aRead a value from a memory area regarded as an array of values of the same kind. The first argument specifies the start address of the array and the second the index into the array (the first element of the array has index
0). The following equality holds,peekElemOff addr idx = IOExts.fixIO $ \result -> peek (addr `plusPtr` (idx * sizeOf result))Note that this is only a specification, not necessarily the concrete implementation of the function.
pokeElemOff :: Ptr a -> Int -> a -> IO ()Write a value to a memory area regarded as an array of values of the same kind. The following equality holds:
pokeElemOff addr idx x = poke (addr `plusPtr` (idx * sizeOf x)) xpeekByteOff :: Ptr b -> Int -> IO aRead a value from a memory location given by a base address and offset. The following equality holds:
peekByteOff addr off = peek (addr `plusPtr` off)pokeByteOff :: Ptr b -> Int -> a -> IO ()Write a value to a memory location given by a base address and offset. The following equality holds:
pokeByteOff addr off x = poke (addr `plusPtr` off) xpeek :: Ptr a -> IO aRead a value from the given memory location.
Note that the peek and poke functions might require properly aligned addresses to function correctly. This is architecture dependent; thus, portable code should ensure that when peeking or poking values of some type
a, the alignment constraint fora, as given by the function alignment is fulfilled.poke :: Ptr a -> a -> IO ()Write the given value to the given memory location. Alignment restrictions might apply; see peek.
Instances89Storable, …
Storable CTimeSpecDefined in directory-1.3.10.0 · System.Directory.Internal.C_utimensatStorable EventDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.EPollStorable EventDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.PollStorable PollFdDefined in ghc-internal-9.1401.0 · GHC.Internal.Event.PollStorable FingerprintDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable CBoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CClockDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CLLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CPtrdiffDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSigAtomicDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CTimeDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUCharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntMaxDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUIntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CULLongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CULongDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUSecondsDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CUShortDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable CWcharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.C.TypesStorable IntPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrStorable WordPtrDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.PtrStorable HalfWordDefined in ghc-internal-9.1401.0 · GHC.Internal.Heap.InfoTable.TypesStorable FLockDefined in ghc-internal-9.1401.0 · GHC.Internal.IO.Handle.Lock.LinuxOFDStorable Int16Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Int32Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Int64Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Int8Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable CBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CBlkSizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CCcDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CClockIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CDevDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CFsBlkCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CFsFilCntDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CGidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CIdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CInoDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CKeyDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CModeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CNfdsDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CNlinkDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable COffDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CPidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CRLimDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CSocklenDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CSpeedDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CSsizeDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CTcflagDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CTimerDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable CUidDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable FdDefined in ghc-internal-9.1401.0 · GHC.Internal.System.Posix.TypesStorable BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable CharDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable IntDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable WordDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Word16Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Word32Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Word64Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable Word8Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable CTimespecDefined in time-1.15 · Data.Time.Clock.Internal.CTimespecStorable CTimevalDefined in time-1.15 · Data.Time.Clock.Internal.CTimevalStorable DirEntDefined in unix-2.8.8.0 · System.Posix.Directory.CommonStorable CAttributesDefined in unix-2.8.8.0 · System.Posix.Files.CommonStorable CTimeSpecDefined in unix-2.8.8.0 · System.Posix.Files.CommonStorable CTimeValDefined in unix-2.8.8.0 · System.Posix.Files.CommonStorable ()Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable (ConstPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable (FunPtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable (Ptr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable (StablePtr a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable a => Storable (Complex a)Defined in base-4.22.0.0 · Data.ComplexStorable a => Storable (Identity a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.IdentityStorable a => Storable (Down a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Ord(Storable a, Integral a) => Storable (Ratio a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.StorableStorable a => Storable (Const a b)Defined in ghc-internal-9.1401.0 · GHC.Internal.Data.Functor.Const
Unlifted Foreign.Marshal.Alloc
11 declarationsUnlifted alloca.
Unlifted allocaBytes.
Unlifted allocaBytesAligned.
Lifted malloc.
Lifted mallocBytes.
Lifted calloc.
Lifted callocBytes.
Lifted realloc.
Lifted reallocBytes.
Lifted free.
A pointer to a foreign function equivalent to free, which may be used as a finalizer (cf ForeignPtr) for storage allocated with malloc, mallocBytes, realloc or reallocBytes.
Unlifted Foreign.Marshal.Array
22 declarationsLifted mallocArray.
Lifted mallocArray0.
Unlifted allocaArray.
Unlifted allocaArray0.
Lifted reallocArray.
Lifted reallocArray0.
Lifted callocArray.
Lifted callocArray0.
Lifted peekArray.
Lifted peekArray0.
Lifted pokeArray.
Lifted pokeArray0.
Lifted newArray.
Lifted newArray0
Unlifted withArray.
Unlifted withArray0.
Unlifted withArrayLen.
Unlifted withArrayLen0.
Lifted copyArray.
Lifted moveArray.
Lifted lengthArray0.
Advance a pointer into an array by the given number of elements
Unlifted Foreign.Marshal.Error
5 declarationsUnlifted throwIf.
Unlifted throwIf_.
Unlifted throwIfNeg.
Unlifted throwIfNeg_.
Unlifted throwIfNull.
Unlifted Foreign.Marshal.Pool
15 declarationsA memory pool.
Lifted newPool.
Lifted freePool.
Unlifted withPool.
Lifted pooledMalloc.
Lifted pooledMallocBytes.
Lifted pooledRealloc.
Lifted pooledReallocBytes.
Lifted pooledMallocArray.
Lifted pooledMallocArray0.
Lifted pooledReallocArray.
Lifted pooledReallocArray0.
Lifted pooledNew.
Lifted pooledNewArray.
Lifted pooledNewArray0.
Unlifted Foreign.Marshal.Utils
11 declarationsUnlifted with.
Lifted new.
Convert a Haskell Bool to its numeric representation
Convert a Boolean in numeric representation to a Haskell value
Lifted maybeNew.
Lifted maybeWith.
Unlifted maybePeek.
Replicates a withXXX combinator over a list of objects, yielding a list of
marshalled objects
Lifted copyBytes.
Lifted moveBytes.
Lifted fillBytes.