GHC.Exts

base-4.12.0.0: Basic libraries

Copyright | (c) The University of Glasgow 2002
License | see libraries/base/LICENSE
Maintainer | cvs-ghc@haskell.org
Stability | internal
Portability | non-portable (GHC Extensions)
Safe Haskell | Unsafe
Language | Haskell2010

GHC.Exts

Contents

- Representations of some basic types
- The maximum tuple size
- Primitive operations
- Fusion
- Overloaded string literals
- Debugging
- Ids with special behaviour
- Running `RealWorld` state transformers
- Safe coercions
- Equality
- Representation polymorphism
- Transform comprehensions
- Event logging
- SpecConstr annotations
- The call stack
- The Constraint kind
- The Any type
- Overloaded lists

Description

GHC Extensions: this is the Approved Way to get at GHC-specific extensions.

Note: no other base module should import this module.

Synopsis

- data Int = I# Int#
- data Word = W# Word#
- data Float = F# Float#
- data Double = D# Double#
- data Char = C# Char#
- data Ptr a = Ptr Addr#
- data FunPtr a = FunPtr Addr#
- maxTupleSize :: Int
- seq :: a -> b -> b
- realWorld# :: State# RealWorld
- void# :: Void#
- unsafeCoerce# :: a -> b
- nullAddr# :: Addr#
- magicDict :: a
- proxy# :: Proxy# a
- data Addr# :: TYPE AddrRep
- data Array# (a :: Type) :: Type -> TYPE UnliftedRep
- data ByteArray# :: TYPE UnliftedRep
- data Char# :: TYPE WordRep
- data Double# :: TYPE DoubleRep
- data Float# :: TYPE FloatRep
- data Int# :: TYPE IntRep
- data Int32# :: TYPE IntRep
- data Int64# :: TYPE Int64Rep
- data Weak# (a :: Type) :: Type -> TYPE UnliftedRep
- data MutableArray# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep
- data MutableByteArray# (a :: Type) :: Type -> TYPE UnliftedRep
- data MVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep
- data RealWorld :: Type
- data StablePtr# (a :: Type) :: Type -> TYPE AddrRep
- data ArrayArray# :: TYPE UnliftedRep
- data MutableArrayArray# (a :: Type) :: Type -> TYPE UnliftedRep
- data State# (a :: Type) :: Type -> TYPE (TupleRep ([] :: [RuntimeRep]))
- data StableName# (a :: Type) :: Type -> TYPE UnliftedRep
- data MutVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep
- data Void# :: TYPE (TupleRep ([] :: [RuntimeRep]))
- data Word# :: TYPE WordRep
- data Word32# :: TYPE WordRep
- data Word64# :: TYPE Word64Rep
- data ThreadId# :: TYPE UnliftedRep
- data BCO# :: TYPE UnliftedRep
- data TVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep
- data Compact# :: TYPE UnliftedRep
- data Proxy# :: forall k0. k0 -> TYPE (TupleRep ([] :: [RuntimeRep]))
- data SmallArray# (a :: Type) :: Type -> TYPE UnliftedRep
- data SmallMutableArray# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep
- data Int8X16# :: TYPE (VecRep Vec16 Int8ElemRep)
- data Int16X8# :: TYPE (VecRep Vec8 Int16ElemRep)
- data Int32X4# :: TYPE (VecRep Vec4 Int32ElemRep)
- data Int64X2# :: TYPE (VecRep Vec2 Int64ElemRep)
- data Int8X32# :: TYPE (VecRep Vec32 Int8ElemRep)
- data Int16X16# :: TYPE (VecRep Vec16 Int16ElemRep)
- data Int32X8# :: TYPE (VecRep Vec8 Int32ElemRep)
- data Int64X4# :: TYPE (VecRep Vec4 Int64ElemRep)
- data Int8X64# :: TYPE (VecRep Vec64 Int8ElemRep)
- data Int16X32# :: TYPE (VecRep Vec32 Int16ElemRep)
- data Int32X16# :: TYPE (VecRep Vec16 Int32ElemRep)
- data Int64X8# :: TYPE (VecRep Vec8 Int64ElemRep)
- data Word8X16# :: TYPE (VecRep Vec16 Word8ElemRep)
- data Word16X8# :: TYPE (VecRep Vec8 Word16ElemRep)
- data Word32X4# :: TYPE (VecRep Vec4 Word32ElemRep)
- data Word64X2# :: TYPE (VecRep Vec2 Word64ElemRep)
- data Word8X32# :: TYPE (VecRep Vec32 Word8ElemRep)
- data Word16X16# :: TYPE (VecRep Vec16 Word16ElemRep)
- data Word32X8# :: TYPE (VecRep Vec8 Word32ElemRep)
- data Word64X4# :: TYPE (VecRep Vec4 Word64ElemRep)
- data Word8X64# :: TYPE (VecRep Vec64 Word8ElemRep)
- data Word16X32# :: TYPE (VecRep Vec32 Word16ElemRep)
- data Word32X16# :: TYPE (VecRep Vec16 Word32ElemRep)
- data Word64X8# :: TYPE (VecRep Vec8 Word64ElemRep)
- data FloatX4# :: TYPE (VecRep Vec4 FloatElemRep)
- data DoubleX2# :: TYPE (VecRep Vec2 DoubleElemRep)
- data FloatX8# :: TYPE (VecRep Vec8 FloatElemRep)
- data DoubleX4# :: TYPE (VecRep Vec4 DoubleElemRep)
- data FloatX16# :: TYPE (VecRep Vec16 FloatElemRep)
- data DoubleX8# :: TYPE (VecRep Vec8 DoubleElemRep)
- gtChar# :: Char# -> Char# -> Int#
- geChar# :: Char# -> Char# -> Int#
- eqChar# :: Char# -> Char# -> Int#
- neChar# :: Char# -> Char# -> Int#
- ltChar# :: Char# -> Char# -> Int#
- leChar# :: Char# -> Char# -> Int#
- ord# :: Char# -> Int#
- (+#) :: Int# -> Int# -> Int#
- (-#) :: Int# -> Int# -> Int#
- (*#) :: Int# -> Int# -> Int#
- mulIntMayOflo# :: Int# -> Int# -> Int#
- quotInt# :: Int# -> Int# -> Int#
- remInt# :: Int# -> Int# -> Int#
- quotRemInt# :: Int# -> Int# -> (#Int#, Int##)
- andI# :: Int# -> Int# -> Int#
- orI# :: Int# -> Int# -> Int#
- xorI# :: Int# -> Int# -> Int#
- notI# :: Int# -> Int#
- negateInt# :: Int# -> Int#
- addIntC# :: Int# -> Int# -> (#Int#, Int##)
- subIntC# :: Int# -> Int# -> (#Int#, Int##)
- (>#) :: Int# -> Int# -> Int#
- (>=#) :: Int# -> Int# -> Int#
- (==#) :: Int# -> Int# -> Int#
- (/=#) :: Int# -> Int# -> Int#
- (<#) :: Int# -> Int# -> Int#
- (<=#) :: Int# -> Int# -> Int#
- chr# :: Int# -> Char#
- int2Word# :: Int# -> Word#
- int2Float# :: Int# -> Float#
- int2Double# :: Int# -> Double#
- word2Float# :: Word# -> Float#
- word2Double# :: Word# -> Double#
- uncheckedIShiftL# :: Int# -> Int# -> Int#
- uncheckedIShiftRA# :: Int# -> Int# -> Int#
- uncheckedIShiftRL# :: Int# -> Int# -> Int#
- plusWord# :: Word# -> Word# -> Word#
- addWordC# :: Word# -> Word# -> (#Word#, Int##)
- subWordC# :: Word# -> Word# -> (#Word#, Int##)
- plusWord2# :: Word# -> Word# -> (#Word#, Word##)
- minusWord# :: Word# -> Word# -> Word#
- timesWord# :: Word# -> Word# -> Word#
- timesWord2# :: Word# -> Word# -> (#Word#, Word##)
- quotWord# :: Word# -> Word# -> Word#
- remWord# :: Word# -> Word# -> Word#
- quotRemWord# :: Word# -> Word# -> (#Word#, Word##)
- quotRemWord2# :: Word# -> Word# -> Word# -> (#Word#, Word##)
- and# :: Word# -> Word# -> Word#
- or# :: Word# -> Word# -> Word#
- xor# :: Word# -> Word# -> Word#
- not# :: Word# -> Word#
- uncheckedShiftL# :: Word# -> Int# -> Word#
- uncheckedShiftRL# :: Word# -> Int# -> Word#
- word2Int# :: Word# -> Int#
- gtWord# :: Word# -> Word# -> Int#
- geWord# :: Word# -> Word# -> Int#
- eqWord# :: Word# -> Word# -> Int#
- neWord# :: Word# -> Word# -> Int#
- ltWord# :: Word# -> Word# -> Int#
- leWord# :: Word# -> Word# -> Int#
- popCnt8# :: Word# -> Word#
- popCnt16# :: Word# -> Word#
- popCnt32# :: Word# -> Word#
- popCnt64# :: Word# -> Word#
- popCnt# :: Word# -> Word#
- pdep8# :: Word# -> Word# -> Word#
- pdep16# :: Word# -> Word# -> Word#
- pdep32# :: Word# -> Word# -> Word#
- pdep64# :: Word# -> Word# -> Word#
- pdep# :: Word# -> Word# -> Word#
- pext8# :: Word# -> Word# -> Word#
- pext16# :: Word# -> Word# -> Word#
- pext32# :: Word# -> Word# -> Word#
- pext64# :: Word# -> Word# -> Word#
- pext# :: Word# -> Word# -> Word#
- clz8# :: Word# -> Word#
- clz16# :: Word# -> Word#
- clz32# :: Word# -> Word#
- clz64# :: Word# -> Word#
- clz# :: Word# -> Word#
- ctz8# :: Word# -> Word#
- ctz16# :: Word# -> Word#
- ctz32# :: Word# -> Word#
- ctz64# :: Word# -> Word#
- ctz# :: Word# -> Word#
- byteSwap16# :: Word# -> Word#
- byteSwap32# :: Word# -> Word#
- byteSwap64# :: Word# -> Word#
- byteSwap# :: Word# -> Word#
- narrow8Int# :: Int# -> Int#
- narrow16Int# :: Int# -> Int#
- narrow32Int# :: Int# -> Int#
- narrow8Word# :: Word# -> Word#
- narrow16Word# :: Word# -> Word#
- narrow32Word# :: Word# -> Word#
- (>##) :: Double# -> Double# -> Int#
- (>=##) :: Double# -> Double# -> Int#
- (==##) :: Double# -> Double# -> Int#
- (/=##) :: Double# -> Double# -> Int#
- (<##) :: Double# -> Double# -> Int#
- (<=##) :: Double# -> Double# -> Int#
- (+##) :: Double# -> Double# -> Double#
- (-##) :: Double# -> Double# -> Double#
- (*##) :: Double# -> Double# -> Double#
- (/##) :: Double# -> Double# -> Double#
- negateDouble# :: Double# -> Double#
- fabsDouble# :: Double# -> Double#
- double2Int# :: Double# -> Int#
- double2Float# :: Double# -> Float#
- expDouble# :: Double# -> Double#
- logDouble# :: Double# -> Double#
- sqrtDouble# :: Double# -> Double#
- sinDouble# :: Double# -> Double#
- cosDouble# :: Double# -> Double#
- tanDouble# :: Double# -> Double#
- asinDouble# :: Double# -> Double#
- acosDouble# :: Double# -> Double#
- atanDouble# :: Double# -> Double#
- sinhDouble# :: Double# -> Double#
- coshDouble# :: Double# -> Double#
- tanhDouble# :: Double# -> Double#
- (**##) :: Double# -> Double# -> Double#
- decodeDouble_2Int# :: Double# -> (#Int#, Word#, Word#, Int##)
- decodeDouble_Int64# :: Double# -> (#Int#, Int##)
- gtFloat# :: Float# -> Float# -> Int#
- geFloat# :: Float# -> Float# -> Int#
- eqFloat# :: Float# -> Float# -> Int#
- neFloat# :: Float# -> Float# -> Int#
- ltFloat# :: Float# -> Float# -> Int#
- leFloat# :: Float# -> Float# -> Int#
- plusFloat# :: Float# -> Float# -> Float#
- minusFloat# :: Float# -> Float# -> Float#
- timesFloat# :: Float# -> Float# -> Float#
- divideFloat# :: Float# -> Float# -> Float#
- negateFloat# :: Float# -> Float#
- fabsFloat# :: Float# -> Float#
- float2Int# :: Float# -> Int#
- expFloat# :: Float# -> Float#
- logFloat# :: Float# -> Float#
- sqrtFloat# :: Float# -> Float#
- sinFloat# :: Float# -> Float#
- cosFloat# :: Float# -> Float#
- tanFloat# :: Float# -> Float#
- asinFloat# :: Float# -> Float#
- acosFloat# :: Float# -> Float#
- atanFloat# :: Float# -> Float#
- sinhFloat# :: Float# -> Float#
- coshFloat# :: Float# -> Float#
- tanhFloat# :: Float# -> Float#
- powerFloat# :: Float# -> Float# -> Float#
- float2Double# :: Float# -> Double#
- decodeFloat_Int# :: Float# -> (#Int#, Int##)
- newArray# :: Int# -> a -> State# d -> (#State# d, MutableArray# d a#)
- sameMutableArray# :: MutableArray# d a -> MutableArray# d a -> Int#
- readArray# :: MutableArray# d a -> Int# -> State# d -> (#State# d, a#)
- writeArray# :: MutableArray# d a -> Int# -> a -> State# d -> State# d
- sizeofArray# :: Array# a -> Int#
- sizeofMutableArray# :: MutableArray# d a -> Int#
- indexArray# :: Array# a -> Int# -> (#a#)
- unsafeFreezeArray# :: MutableArray# d a -> State# d -> (#State# d, Array# a#)
- unsafeThawArray# :: Array# a -> State# d -> (#State# d, MutableArray# d a#)
- copyArray# :: Array# a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
- copyMutableArray# :: MutableArray# d a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d
- cloneArray# :: Array# a -> Int# -> Int# -> Array# a
- cloneMutableArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, MutableArray# d a#)
- freezeArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, Array# a#)
- thawArray# :: Array# a -> Int# -> Int# -> State# d -> (#State# d, MutableArray# d a#)
- casArray# :: MutableArray# d a -> Int# -> a -> a -> State# d -> (#State# d, Int#, a#)
- newSmallArray# :: Int# -> a -> State# d -> (#State# d, SmallMutableArray# d a#)
- sameSmallMutableArray# :: SmallMutableArray# d a -> SmallMutableArray# d a -> Int#
- readSmallArray# :: SmallMutableArray# d a -> Int# -> State# d -> (#State# d, a#)
- writeSmallArray# :: SmallMutableArray# d a -> Int# -> a -> State# d -> State# d
- sizeofSmallArray# :: SmallArray# a -> Int#
- sizeofSmallMutableArray# :: SmallMutableArray# d a -> Int#
- indexSmallArray# :: SmallArray# a -> Int# -> (#a#)
- unsafeFreezeSmallArray# :: SmallMutableArray# d a -> State# d -> (#State# d, SmallArray# a#)
- unsafeThawSmallArray# :: SmallArray# a -> State# d -> (#State# d, SmallMutableArray# d a#)
- copySmallArray# :: SmallArray# a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
- copySmallMutableArray# :: SmallMutableArray# d a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d
- cloneSmallArray# :: SmallArray# a -> Int# -> Int# -> SmallArray# a
- cloneSmallMutableArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, SmallMutableArray# d a#)
- freezeSmallArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, SmallArray# a#)
- thawSmallArray# :: SmallArray# a -> Int# -> Int# -> State# d -> (#State# d, SmallMutableArray# d a#)
- casSmallArray# :: SmallMutableArray# d a -> Int# -> a -> a -> State# d -> (#State# d, Int#, a#)
- newByteArray# :: Int# -> State# d -> (#State# d, MutableByteArray# d#)
- newPinnedByteArray# :: Int# -> State# d -> (#State# d, MutableByteArray# d#)
- newAlignedPinnedByteArray# :: Int# -> Int# -> State# d -> (#State# d, MutableByteArray# d#)
- isMutableByteArrayPinned# :: MutableByteArray# d -> Int#
- isByteArrayPinned# :: ByteArray# -> Int#
- byteArrayContents# :: ByteArray# -> Addr#
- sameMutableByteArray# :: MutableByteArray# d -> MutableByteArray# d -> Int#
- shrinkMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> State# d
- resizeMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, MutableByteArray# d#)
- unsafeFreezeByteArray# :: MutableByteArray# d -> State# d -> (#State# d, ByteArray##)
- sizeofByteArray# :: ByteArray# -> Int#
- sizeofMutableByteArray# :: MutableByteArray# d -> Int#
- getSizeofMutableByteArray# :: MutableByteArray# d -> State# d -> (#State# d, Int##)
- indexCharArray# :: ByteArray# -> Int# -> Char#
- indexWideCharArray# :: ByteArray# -> Int# -> Char#
- indexIntArray# :: ByteArray# -> Int# -> Int#
- indexWordArray# :: ByteArray# -> Int# -> Word#
- indexAddrArray# :: ByteArray# -> Int# -> Addr#
- indexFloatArray# :: ByteArray# -> Int# -> Float#
- indexDoubleArray# :: ByteArray# -> Int# -> Double#
- indexStablePtrArray# :: ByteArray# -> Int# -> StablePtr# a
- indexInt8Array# :: ByteArray# -> Int# -> Int#
- indexInt16Array# :: ByteArray# -> Int# -> Int#
- indexInt32Array# :: ByteArray# -> Int# -> Int#
- indexInt64Array# :: ByteArray# -> Int# -> Int#
- indexWord8Array# :: ByteArray# -> Int# -> Word#
- indexWord16Array# :: ByteArray# -> Int# -> Word#
- indexWord32Array# :: ByteArray# -> Int# -> Word#
- indexWord64Array# :: ByteArray# -> Int# -> Word#
- indexWord8ArrayAsChar# :: ByteArray# -> Int# -> Char#
- indexWord8ArrayAsWideChar# :: ByteArray# -> Int# -> Char#
- indexWord8ArrayAsAddr# :: ByteArray# -> Int# -> Addr#
- indexWord8ArrayAsFloat# :: ByteArray# -> Int# -> Float#
- indexWord8ArrayAsDouble# :: ByteArray# -> Int# -> Double#
- indexWord8ArrayAsStablePtr# :: ByteArray# -> Int# -> StablePtr# a
- indexWord8ArrayAsInt16# :: ByteArray# -> Int# -> Int#
- indexWord8ArrayAsInt32# :: ByteArray# -> Int# -> Int#
- indexWord8ArrayAsInt64# :: ByteArray# -> Int# -> Int#
- indexWord8ArrayAsInt# :: ByteArray# -> Int# -> Int#
- indexWord8ArrayAsWord16# :: ByteArray# -> Int# -> Word#
- indexWord8ArrayAsWord32# :: ByteArray# -> Int# -> Word#
- indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word#
- indexWord8ArrayAsWord# :: ByteArray# -> Int# -> Word#
- readCharArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##)
- readWideCharArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##)
- readIntArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWordArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readAddrArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Addr##)
- readFloatArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Float##)
- readDoubleArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Double##)
- readStablePtrArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, StablePtr# a#)
- readInt8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readInt16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readInt32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readInt64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWord8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##)
- readWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##)
- readWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Addr##)
- readWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Float##)
- readWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Double##)
- readWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, StablePtr# a#)
- readWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- readWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- readWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##)
- writeCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d
- writeWideCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d
- writeIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWordArray# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeAddrArray# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d
- writeFloatArray# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d
- writeDoubleArray# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d
- writeStablePtrArray# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d
- writeInt8Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeInt16Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeInt32Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeInt64Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWord8Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord16Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord32Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord64Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d
- writeWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d
- writeWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d
- writeWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d
- writeWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d
- writeWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d
- writeWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- writeWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- writeWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
- compareByteArrays# :: ByteArray# -> Int# -> ByteArray# -> Int# -> Int# -> Int#
- copyByteArray# :: ByteArray# -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- copyMutableByteArray# :: MutableByteArray# d -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- copyByteArrayToAddr# :: ByteArray# -> Int# -> Addr# -> Int# -> State# d -> State# d
- copyMutableByteArrayToAddr# :: MutableByteArray# d -> Int# -> Addr# -> Int# -> State# d -> State# d
- copyAddrToByteArray# :: Addr# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- setByteArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> State# d
- atomicReadIntArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##)
- atomicWriteIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d
- casIntArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchAddIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchSubIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchAndIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchNandIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchOrIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- fetchXorIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##)
- newArrayArray# :: Int# -> State# d -> (#State# d, MutableArrayArray# d#)
- sameMutableArrayArray# :: MutableArrayArray# d -> MutableArrayArray# d -> Int#
- unsafeFreezeArrayArray# :: MutableArrayArray# d -> State# d -> (#State# d, ArrayArray##)
- sizeofArrayArray# :: ArrayArray# -> Int#
- sizeofMutableArrayArray# :: MutableArrayArray# d -> Int#
- indexByteArrayArray# :: ArrayArray# -> Int# -> ByteArray#
- indexArrayArrayArray# :: ArrayArray# -> Int# -> ArrayArray#
- readByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, ByteArray##)
- readMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, MutableByteArray# d#)
- readArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, ArrayArray##)
- readMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, MutableArrayArray# d#)
- writeByteArrayArray# :: MutableArrayArray# d -> Int# -> ByteArray# -> State# d -> State# d
- writeMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> MutableByteArray# d -> State# d -> State# d
- writeArrayArrayArray# :: MutableArrayArray# d -> Int# -> ArrayArray# -> State# d -> State# d
- writeMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> State# d -> State# d
- copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d
- copyMutableArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d
- plusAddr# :: Addr# -> Int# -> Addr#
- minusAddr# :: Addr# -> Addr# -> Int#
- remAddr# :: Addr# -> Int# -> Int#
- addr2Int# :: Addr# -> Int#
- int2Addr# :: Int# -> Addr#
- gtAddr# :: Addr# -> Addr# -> Int#
- geAddr# :: Addr# -> Addr# -> Int#
- eqAddr# :: Addr# -> Addr# -> Int#
- neAddr# :: Addr# -> Addr# -> Int#
- ltAddr# :: Addr# -> Addr# -> Int#
- leAddr# :: Addr# -> Addr# -> Int#
- indexCharOffAddr# :: Addr# -> Int# -> Char#
- indexWideCharOffAddr# :: Addr# -> Int# -> Char#
- indexIntOffAddr# :: Addr# -> Int# -> Int#
- indexWordOffAddr# :: Addr# -> Int# -> Word#
- indexAddrOffAddr# :: Addr# -> Int# -> Addr#
- indexFloatOffAddr# :: Addr# -> Int# -> Float#
- indexDoubleOffAddr# :: Addr# -> Int# -> Double#
- indexStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a
- indexInt8OffAddr# :: Addr# -> Int# -> Int#
- indexInt16OffAddr# :: Addr# -> Int# -> Int#
- indexInt32OffAddr# :: Addr# -> Int# -> Int#
- indexInt64OffAddr# :: Addr# -> Int# -> Int#
- indexWord8OffAddr# :: Addr# -> Int# -> Word#
- indexWord16OffAddr# :: Addr# -> Int# -> Word#
- indexWord32OffAddr# :: Addr# -> Int# -> Word#
- indexWord64OffAddr# :: Addr# -> Int# -> Word#
- readCharOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Char##)
- readWideCharOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Char##)
- readIntOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##)
- readWordOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##)
- readAddrOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Addr##)
- readFloatOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Float##)
- readDoubleOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Double##)
- readStablePtrOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, StablePtr# a#)
- readInt8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##)
- readInt16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##)
- readInt32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##)
- readInt64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##)
- readWord8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##)
- readWord16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##)
- readWord32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##)
- readWord64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##)
- writeCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d
- writeWideCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d
- writeIntOffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
- writeWordOffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
- writeAddrOffAddr# :: Addr# -> Int# -> Addr# -> State# d -> State# d
- writeFloatOffAddr# :: Addr# -> Int# -> Float# -> State# d -> State# d
- writeDoubleOffAddr# :: Addr# -> Int# -> Double# -> State# d -> State# d
- writeStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a -> State# d -> State# d
- writeInt8OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
- writeInt16OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
- writeInt32OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
- writeInt64OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d
- writeWord8OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
- writeWord16OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
- writeWord32OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
- writeWord64OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
- newMutVar# :: a -> State# d -> (#State# d, MutVar# d a#)
- readMutVar# :: MutVar# d a -> State# d -> (#State# d, a#)
- writeMutVar# :: MutVar# d a -> a -> State# d -> State# d
- sameMutVar# :: MutVar# d a -> MutVar# d a -> Int#
- atomicModifyMutVar# :: MutVar# d a -> (a -> b) -> State# d -> (#State# d, c#)
- casMutVar# :: MutVar# d a -> a -> a -> State# d -> (#State# d, Int#, a#)
- catch# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (b -> State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- raise# :: b -> a
- raiseIO# :: a -> State# RealWorld -> (#State# RealWorld, b#)
- maskAsyncExceptions# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- maskUninterruptible# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- unmaskAsyncExceptions# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- getMaskingState# :: State# RealWorld -> (#State# RealWorld, Int##)
- atomically# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- retry# :: State# RealWorld -> (#State# RealWorld, a#)
- catchRetry# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- catchSTM# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (b -> State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#)
- newTVar# :: a -> State# d -> (#State# d, TVar# d a#)
- readTVar# :: TVar# d a -> State# d -> (#State# d, a#)
- readTVarIO# :: TVar# d a -> State# d -> (#State# d, a#)
- writeTVar# :: TVar# d a -> a -> State# d -> State# d
- sameTVar# :: TVar# d a -> TVar# d a -> Int#
- newMVar# :: State# d -> (#State# d, MVar# d a#)
- takeMVar# :: MVar# d a -> State# d -> (#State# d, a#)
- tryTakeMVar# :: MVar# d a -> State# d -> (#State# d, Int#, a#)
- putMVar# :: MVar# d a -> a -> State# d -> State# d
- tryPutMVar# :: MVar# d a -> a -> State# d -> (#State# d, Int##)
- readMVar# :: MVar# d a -> State# d -> (#State# d, a#)
- tryReadMVar# :: MVar# d a -> State# d -> (#State# d, Int#, a#)
- sameMVar# :: MVar# d a -> MVar# d a -> Int#
- isEmptyMVar# :: MVar# d a -> State# d -> (#State# d, Int##)
- delay# :: Int# -> State# d -> State# d
- waitRead# :: Int# -> State# d -> State# d
- waitWrite# :: Int# -> State# d -> State# d
- fork# :: a -> State# RealWorld -> (#State# RealWorld, ThreadId##)
- forkOn# :: Int# -> a -> State# RealWorld -> (#State# RealWorld, ThreadId##)
- killThread# :: ThreadId# -> a -> State# RealWorld -> State# RealWorld
- yield# :: State# RealWorld -> State# RealWorld
- myThreadId# :: State# RealWorld -> (#State# RealWorld, ThreadId##)
- labelThread# :: ThreadId# -> Addr# -> State# RealWorld -> State# RealWorld
- isCurrentThreadBound# :: State# RealWorld -> (#State# RealWorld, Int##)
- noDuplicate# :: State# d -> State# d
- threadStatus# :: ThreadId# -> State# RealWorld -> (#State# RealWorld, Int#, Int#, Int##)
- mkWeak# :: a -> b -> (State# RealWorld -> (#State# RealWorld, c#)) -> State# RealWorld -> (#State# RealWorld, Weak# b#)
- mkWeakNoFinalizer# :: a -> b -> State# RealWorld -> (#State# RealWorld, Weak# b#)
- addCFinalizerToWeak# :: Addr# -> Addr# -> Int# -> Addr# -> Weak# b -> State# RealWorld -> (#State# RealWorld, Int##)
- deRefWeak# :: Weak# a -> State# RealWorld -> (#State# RealWorld, Int#, a#)
- finalizeWeak# :: Weak# a -> State# RealWorld -> (#State# RealWorld, Int#, State# RealWorld -> (#State# RealWorld, b#)#)
- touch# :: a -> State# RealWorld -> State# RealWorld
- makeStablePtr# :: a -> State# RealWorld -> (#State# RealWorld, StablePtr# a#)
- deRefStablePtr# :: StablePtr# a -> State# RealWorld -> (#State# RealWorld, a#)
- eqStablePtr# :: StablePtr# a -> StablePtr# a -> Int#
- makeStableName# :: a -> State# RealWorld -> (#State# RealWorld, StableName# a#)
- eqStableName# :: StableName# a -> StableName# b -> Int#
- stableNameToInt# :: StableName# a -> Int#
- compactNew# :: Word# -> State# RealWorld -> (#State# RealWorld, Compact##)
- compactResize# :: Compact# -> Word# -> State# RealWorld -> State# RealWorld
- compactContains# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, Int##)
- compactContainsAny# :: a -> State# RealWorld -> (#State# RealWorld, Int##)
- compactGetFirstBlock# :: Compact# -> State# RealWorld -> (#State# RealWorld, Addr#, Word##)
- compactGetNextBlock# :: Compact# -> Addr# -> State# RealWorld -> (#State# RealWorld, Addr#, Word##)
- compactAllocateBlock# :: Word# -> Addr# -> State# RealWorld -> (#State# RealWorld, Addr##)
- compactFixupPointers# :: Addr# -> Addr# -> State# RealWorld -> (#State# RealWorld, Compact#, Addr##)
- compactAdd# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, a#)
- compactAddWithSharing# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, a#)
- compactSize# :: Compact# -> State# RealWorld -> (#State# RealWorld, Word##)
- reallyUnsafePtrEquality# :: a -> a -> Int#
- par# :: a -> Int#
- spark# :: a -> State# d -> (#State# d, a#)
- seq# :: a -> State# d -> (#State# d, a#)
- getSpark# :: State# d -> (#State# d, Int#, a#)
- numSparks# :: State# d -> (#State# d, Int##)
- dataToTag# :: a -> Int#
- tagToEnum# :: Int# -> a
- addrToAny# :: Addr# -> (#a#)
- anyToAddr# :: a -> State# RealWorld -> (#State# RealWorld, Addr##)
- mkApUpd0# :: BCO# -> (#a#)
- newBCO# :: ByteArray# -> ByteArray# -> Array# a -> Int# -> ByteArray# -> State# d -> (#State# d, BCO##)
- unpackClosure# :: a -> (#Addr#, ByteArray#, Array# b#)
- getApStackVal# :: a -> Int# -> (#Int#, b#)
- getCCSOf# :: a -> State# d -> (#State# d, Addr##)
- getCurrentCCS# :: a -> State# d -> (#State# d, Addr##)
- clearCCS# :: (State# d -> (#State# d, a#)) -> State# d -> (#State# d, a#)
- traceEvent# :: Addr# -> State# d -> State# d
- traceMarker# :: Addr# -> State# d -> State# d
- getThreadAllocationCounter# :: State# RealWorld -> (#State# RealWorld, Int##)
- setThreadAllocationCounter# :: Int# -> State# RealWorld -> State# RealWorld
- broadcastInt8X16# :: Int# -> Int8X16#
- broadcastInt16X8# :: Int# -> Int16X8#
- broadcastInt32X4# :: Int# -> Int32X4#
- broadcastInt64X2# :: Int# -> Int64X2#
- broadcastInt8X32# :: Int# -> Int8X32#
- broadcastInt16X16# :: Int# -> Int16X16#
- broadcastInt32X8# :: Int# -> Int32X8#
- broadcastInt64X4# :: Int# -> Int64X4#
- broadcastInt8X64# :: Int# -> Int8X64#
- broadcastInt16X32# :: Int# -> Int16X32#
- broadcastInt32X16# :: Int# -> Int32X16#
- broadcastInt64X8# :: Int# -> Int64X8#
- broadcastWord8X16# :: Word# -> Word8X16#
- broadcastWord16X8# :: Word# -> Word16X8#
- broadcastWord32X4# :: Word# -> Word32X4#
- broadcastWord64X2# :: Word# -> Word64X2#
- broadcastWord8X32# :: Word# -> Word8X32#
- broadcastWord16X16# :: Word# -> Word16X16#
- broadcastWord32X8# :: Word# -> Word32X8#
- broadcastWord64X4# :: Word# -> Word64X4#
- broadcastWord8X64# :: Word# -> Word8X64#
- broadcastWord16X32# :: Word# -> Word16X32#
- broadcastWord32X16# :: Word# -> Word32X16#
- broadcastWord64X8# :: Word# -> Word64X8#
- broadcastFloatX4# :: Float# -> FloatX4#
- broadcastDoubleX2# :: Double# -> DoubleX2#
- broadcastFloatX8# :: Float# -> FloatX8#
- broadcastDoubleX4# :: Double# -> DoubleX4#
- broadcastFloatX16# :: Float# -> FloatX16#
- broadcastDoubleX8# :: Double# -> DoubleX8#
- packInt8X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X16#
- packInt16X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X8#
- packInt32X4# :: (#Int#, Int#, Int#, Int##) -> Int32X4#
- packInt64X2# :: (#Int#, Int##) -> Int64X2#
- packInt8X32# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X32#
- packInt16X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X16#
- packInt32X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int32X8#
- packInt64X4# :: (#Int#, Int#, Int#, Int##) -> Int64X4#
- packInt8X64# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X64#
- packInt16X32# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X32#
- packInt32X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int32X16#
- packInt64X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int64X8#
- packWord8X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X16#
- packWord16X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X8#
- packWord32X4# :: (#Word#, Word#, Word#, Word##) -> Word32X4#
- packWord64X2# :: (#Word#, Word##) -> Word64X2#
- packWord8X32# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X32#
- packWord16X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X16#
- packWord32X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word32X8#
- packWord64X4# :: (#Word#, Word#, Word#, Word##) -> Word64X4#
- packWord8X64# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X64#
- packWord16X32# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X32#
- packWord32X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word32X16#
- packWord64X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word64X8#
- packFloatX4# :: (#Float#, Float#, Float#, Float##) -> FloatX4#
- packDoubleX2# :: (#Double#, Double##) -> DoubleX2#
- packFloatX8# :: (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) -> FloatX8#
- packDoubleX4# :: (#Double#, Double#, Double#, Double##) -> DoubleX4#
- packFloatX16# :: (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) -> FloatX16#
- packDoubleX8# :: (#Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double##) -> DoubleX8#
- unpackInt8X16# :: Int8X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt16X8# :: Int16X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt32X4# :: Int32X4# -> (#Int#, Int#, Int#, Int##)
- unpackInt64X2# :: Int64X2# -> (#Int#, Int##)
- unpackInt8X32# :: Int8X32# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt16X16# :: Int16X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt32X8# :: Int32X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt64X4# :: Int64X4# -> (#Int#, Int#, Int#, Int##)
- unpackInt8X64# :: Int8X64# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt16X32# :: Int16X32# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt32X16# :: Int32X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackInt64X8# :: Int64X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##)
- unpackWord8X16# :: Word8X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord16X8# :: Word16X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord32X4# :: Word32X4# -> (#Word#, Word#, Word#, Word##)
- unpackWord64X2# :: Word64X2# -> (#Word#, Word##)
- unpackWord8X32# :: Word8X32# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord16X16# :: Word16X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord32X8# :: Word32X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord64X4# :: Word64X4# -> (#Word#, Word#, Word#, Word##)
- unpackWord8X64# :: Word8X64# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord16X32# :: Word16X32# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord32X16# :: Word32X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackWord64X8# :: Word64X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##)
- unpackFloatX4# :: FloatX4# -> (#Float#, Float#, Float#, Float##)
- unpackDoubleX2# :: DoubleX2# -> (#Double#, Double##)
- unpackFloatX8# :: FloatX8# -> (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##)
- unpackDoubleX4# :: DoubleX4# -> (#Double#, Double#, Double#, Double##)
- unpackFloatX16# :: FloatX16# -> (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##)
- unpackDoubleX8# :: DoubleX8# -> (#Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double##)
- insertInt8X16# :: Int8X16# -> Int# -> Int# -> Int8X16#
- insertInt16X8# :: Int16X8# -> Int# -> Int# -> Int16X8#
- insertInt32X4# :: Int32X4# -> Int# -> Int# -> Int32X4#
- insertInt64X2# :: Int64X2# -> Int# -> Int# -> Int64X2#
- insertInt8X32# :: Int8X32# -> Int# -> Int# -> Int8X32#
- insertInt16X16# :: Int16X16# -> Int# -> Int# -> Int16X16#
- insertInt32X8# :: Int32X8# -> Int# -> Int# -> Int32X8#
- insertInt64X4# :: Int64X4# -> Int# -> Int# -> Int64X4#
- insertInt8X64# :: Int8X64# -> Int# -> Int# -> Int8X64#
- insertInt16X32# :: Int16X32# -> Int# -> Int# -> Int16X32#
- insertInt32X16# :: Int32X16# -> Int# -> Int# -> Int32X16#
- insertInt64X8# :: Int64X8# -> Int# -> Int# -> Int64X8#
- insertWord8X16# :: Word8X16# -> Word# -> Int# -> Word8X16#
- insertWord16X8# :: Word16X8# -> Word# -> Int# -> Word16X8#
- insertWord32X4# :: Word32X4# -> Word# -> Int# -> Word32X4#
- insertWord64X2# :: Word64X2# -> Word# -> Int# -> Word64X2#
- insertWord8X32# :: Word8X32# -> Word# -> Int# -> Word8X32#
- insertWord16X16# :: Word16X16# -> Word# -> Int# -> Word16X16#
- insertWord32X8# :: Word32X8# -> Word# -> Int# -> Word32X8#
- insertWord64X4# :: Word64X4# -> Word# -> Int# -> Word64X4#
- insertWord8X64# :: Word8X64# -> Word# -> Int# -> Word8X64#
- insertWord16X32# :: Word16X32# -> Word# -> Int# -> Word16X32#
- insertWord32X16# :: Word32X16# -> Word# -> Int# -> Word32X16#
- insertWord64X8# :: Word64X8# -> Word# -> Int# -> Word64X8#
- insertFloatX4# :: FloatX4# -> Float# -> Int# -> FloatX4#
- insertDoubleX2# :: DoubleX2# -> Double# -> Int# -> DoubleX2#
- insertFloatX8# :: FloatX8# -> Float# -> Int# -> FloatX8#
- insertDoubleX4# :: DoubleX4# -> Double# -> Int# -> DoubleX4#
- insertFloatX16# :: FloatX16# -> Float# -> Int# -> FloatX16#
- insertDoubleX8# :: DoubleX8# -> Double# -> Int# -> DoubleX8#
- plusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
- plusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
- plusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
- plusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
- plusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
- plusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
- plusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
- plusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
- plusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
- plusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
- plusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
- plusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
- plusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
- plusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
- plusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
- plusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
- plusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
- plusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
- plusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
- plusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
- plusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
- plusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
- plusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
- plusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
- plusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
- plusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
- plusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
- plusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
- plusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
- plusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
- minusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
- minusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
- minusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
- minusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
- minusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
- minusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
- minusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
- minusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
- minusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
- minusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
- minusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
- minusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
- minusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
- minusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
- minusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
- minusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
- minusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
- minusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
- minusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
- minusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
- minusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
- minusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
- minusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
- minusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
- minusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
- minusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
- minusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
- minusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
- minusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
- minusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
- timesInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
- timesInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
- timesInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
- timesInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
- timesInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
- timesInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
- timesInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
- timesInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
- timesInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
- timesInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
- timesInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
- timesInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
- timesWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
- timesWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
- timesWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
- timesWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
- timesWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
- timesWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
- timesWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
- timesWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
- timesWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
- timesWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
- timesWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
- timesWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
- timesFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
- timesDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
- timesFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
- timesDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
- timesFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
- timesDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
- divideFloatX4# :: FloatX4# -> FloatX4# -> FloatX4#
- divideDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2#
- divideFloatX8# :: FloatX8# -> FloatX8# -> FloatX8#
- divideDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4#
- divideFloatX16# :: FloatX16# -> FloatX16# -> FloatX16#
- divideDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8#
- quotInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
- quotInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
- quotInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
- quotInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
- quotInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
- quotInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
- quotInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
- quotInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
- quotInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
- quotInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
- quotInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
- quotInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
- quotWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
- quotWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
- quotWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
- quotWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
- quotWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
- quotWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
- quotWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
- quotWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
- quotWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
- quotWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
- quotWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
- quotWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
- remInt8X16# :: Int8X16# -> Int8X16# -> Int8X16#
- remInt16X8# :: Int16X8# -> Int16X8# -> Int16X8#
- remInt32X4# :: Int32X4# -> Int32X4# -> Int32X4#
- remInt64X2# :: Int64X2# -> Int64X2# -> Int64X2#
- remInt8X32# :: Int8X32# -> Int8X32# -> Int8X32#
- remInt16X16# :: Int16X16# -> Int16X16# -> Int16X16#
- remInt32X8# :: Int32X8# -> Int32X8# -> Int32X8#
- remInt64X4# :: Int64X4# -> Int64X4# -> Int64X4#
- remInt8X64# :: Int8X64# -> Int8X64# -> Int8X64#
- remInt16X32# :: Int16X32# -> Int16X32# -> Int16X32#
- remInt32X16# :: Int32X16# -> Int32X16# -> Int32X16#
- remInt64X8# :: Int64X8# -> Int64X8# -> Int64X8#
- remWord8X16# :: Word8X16# -> Word8X16# -> Word8X16#
- remWord16X8# :: Word16X8# -> Word16X8# -> Word16X8#
- remWord32X4# :: Word32X4# -> Word32X4# -> Word32X4#
- remWord64X2# :: Word64X2# -> Word64X2# -> Word64X2#
- remWord8X32# :: Word8X32# -> Word8X32# -> Word8X32#
- remWord16X16# :: Word16X16# -> Word16X16# -> Word16X16#
- remWord32X8# :: Word32X8# -> Word32X8# -> Word32X8#
- remWord64X4# :: Word64X4# -> Word64X4# -> Word64X4#
- remWord8X64# :: Word8X64# -> Word8X64# -> Word8X64#
- remWord16X32# :: Word16X32# -> Word16X32# -> Word16X32#
- remWord32X16# :: Word32X16# -> Word32X16# -> Word32X16#
- remWord64X8# :: Word64X8# -> Word64X8# -> Word64X8#
- negateInt8X16# :: Int8X16# -> Int8X16#
- negateInt16X8# :: Int16X8# -> Int16X8#
- negateInt32X4# :: Int32X4# -> Int32X4#
- negateInt64X2# :: Int64X2# -> Int64X2#
- negateInt8X32# :: Int8X32# -> Int8X32#
- negateInt16X16# :: Int16X16# -> Int16X16#
- negateInt32X8# :: Int32X8# -> Int32X8#
- negateInt64X4# :: Int64X4# -> Int64X4#
- negateInt8X64# :: Int8X64# -> Int8X64#
- negateInt16X32# :: Int16X32# -> Int16X32#
- negateInt32X16# :: Int32X16# -> Int32X16#
- negateInt64X8# :: Int64X8# -> Int64X8#
- negateFloatX4# :: FloatX4# -> FloatX4#
- negateDoubleX2# :: DoubleX2# -> DoubleX2#
- negateFloatX8# :: FloatX8# -> FloatX8#
- negateDoubleX4# :: DoubleX4# -> DoubleX4#
- negateFloatX16# :: FloatX16# -> FloatX16#
- negateDoubleX8# :: DoubleX8# -> DoubleX8#
- indexInt8X16Array# :: ByteArray# -> Int# -> Int8X16#
- indexInt16X8Array# :: ByteArray# -> Int# -> Int16X8#
- indexInt32X4Array# :: ByteArray# -> Int# -> Int32X4#
- indexInt64X2Array# :: ByteArray# -> Int# -> Int64X2#
- indexInt8X32Array# :: ByteArray# -> Int# -> Int8X32#
- indexInt16X16Array# :: ByteArray# -> Int# -> Int16X16#
- indexInt32X8Array# :: ByteArray# -> Int# -> Int32X8#
- indexInt64X4Array# :: ByteArray# -> Int# -> Int64X4#
- indexInt8X64Array# :: ByteArray# -> Int# -> Int8X64#
- indexInt16X32Array# :: ByteArray# -> Int# -> Int16X32#
- indexInt32X16Array# :: ByteArray# -> Int# -> Int32X16#
- indexInt64X8Array# :: ByteArray# -> Int# -> Int64X8#
- indexWord8X16Array# :: ByteArray# -> Int# -> Word8X16#
- indexWord16X8Array# :: ByteArray# -> Int# -> Word16X8#
- indexWord32X4Array# :: ByteArray# -> Int# -> Word32X4#
- indexWord64X2Array# :: ByteArray# -> Int# -> Word64X2#
- indexWord8X32Array# :: ByteArray# -> Int# -> Word8X32#
- indexWord16X16Array# :: ByteArray# -> Int# -> Word16X16#
- indexWord32X8Array# :: ByteArray# -> Int# -> Word32X8#
- indexWord64X4Array# :: ByteArray# -> Int# -> Word64X4#
- indexWord8X64Array# :: ByteArray# -> Int# -> Word8X64#
- indexWord16X32Array# :: ByteArray# -> Int# -> Word16X32#
- indexWord32X16Array# :: ByteArray# -> Int# -> Word32X16#
- indexWord64X8Array# :: ByteArray# -> Int# -> Word64X8#
- indexFloatX4Array# :: ByteArray# -> Int# -> FloatX4#
- indexDoubleX2Array# :: ByteArray# -> Int# -> DoubleX2#
- indexFloatX8Array# :: ByteArray# -> Int# -> FloatX8#
- indexDoubleX4Array# :: ByteArray# -> Int# -> DoubleX4#
- indexFloatX16Array# :: ByteArray# -> Int# -> FloatX16#
- indexDoubleX8Array# :: ByteArray# -> Int# -> DoubleX8#
- readInt8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X16##)
- readInt16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X8##)
- readInt32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X4##)
- readInt64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X2##)
- readInt8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X32##)
- readInt16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X16##)
- readInt32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X8##)
- readInt64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X4##)
- readInt8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X64##)
- readInt16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X32##)
- readInt32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X16##)
- readInt64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X8##)
- readWord8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X16##)
- readWord16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X8##)
- readWord32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X4##)
- readWord64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X2##)
- readWord8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X32##)
- readWord16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X16##)
- readWord32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X8##)
- readWord64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X4##)
- readWord8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X64##)
- readWord16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X32##)
- readWord32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X16##)
- readWord64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X8##)
- readFloatX4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX4##)
- readDoubleX2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX2##)
- readFloatX8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX8##)
- readDoubleX4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX4##)
- readFloatX16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX16##)
- readDoubleX8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX8##)
- writeInt8X16Array# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d
- writeInt16X8Array# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d
- writeInt32X4Array# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d
- writeInt64X2Array# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d
- writeInt8X32Array# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d
- writeInt16X16Array# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d
- writeInt32X8Array# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d
- writeInt64X4Array# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d
- writeInt8X64Array# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d
- writeInt16X32Array# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d
- writeInt32X16Array# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d
- writeInt64X8Array# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d
- writeWord8X16Array# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d
- writeWord16X8Array# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d
- writeWord32X4Array# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d
- writeWord64X2Array# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d
- writeWord8X32Array# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d
- writeWord16X16Array# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d
- writeWord32X8Array# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d
- writeWord64X4Array# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d
- writeWord8X64Array# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d
- writeWord16X32Array# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d
- writeWord32X16Array# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d
- writeWord64X8Array# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d
- writeFloatX4Array# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d
- writeDoubleX2Array# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d
- writeFloatX8Array# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d
- writeDoubleX4Array# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d
- writeFloatX16Array# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d
- writeDoubleX8Array# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d
- indexInt8X16OffAddr# :: Addr# -> Int# -> Int8X16#
- indexInt16X8OffAddr# :: Addr# -> Int# -> Int16X8#
- indexInt32X4OffAddr# :: Addr# -> Int# -> Int32X4#
- indexInt64X2OffAddr# :: Addr# -> Int# -> Int64X2#
- indexInt8X32OffAddr# :: Addr# -> Int# -> Int8X32#
- indexInt16X16OffAddr# :: Addr# -> Int# -> Int16X16#
- indexInt32X8OffAddr# :: Addr# -> Int# -> Int32X8#
- indexInt64X4OffAddr# :: Addr# -> Int# -> Int64X4#
- indexInt8X64OffAddr# :: Addr# -> Int# -> Int8X64#
- indexInt16X32OffAddr# :: Addr# -> Int# -> Int16X32#
- indexInt32X16OffAddr# :: Addr# -> Int# -> Int32X16#
- indexInt64X8OffAddr# :: Addr# -> Int# -> Int64X8#
- indexWord8X16OffAddr# :: Addr# -> Int# -> Word8X16#
- indexWord16X8OffAddr# :: Addr# -> Int# -> Word16X8#
- indexWord32X4OffAddr# :: Addr# -> Int# -> Word32X4#
- indexWord64X2OffAddr# :: Addr# -> Int# -> Word64X2#
- indexWord8X32OffAddr# :: Addr# -> Int# -> Word8X32#
- indexWord16X16OffAddr# :: Addr# -> Int# -> Word16X16#
- indexWord32X8OffAddr# :: Addr# -> Int# -> Word32X8#
- indexWord64X4OffAddr# :: Addr# -> Int# -> Word64X4#
- indexWord8X64OffAddr# :: Addr# -> Int# -> Word8X64#
- indexWord16X32OffAddr# :: Addr# -> Int# -> Word16X32#
- indexWord32X16OffAddr# :: Addr# -> Int# -> Word32X16#
- indexWord64X8OffAddr# :: Addr# -> Int# -> Word64X8#
- indexFloatX4OffAddr# :: Addr# -> Int# -> FloatX4#
- indexDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2#
- indexFloatX8OffAddr# :: Addr# -> Int# -> FloatX8#
- indexDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4#
- indexFloatX16OffAddr# :: Addr# -> Int# -> FloatX16#
- indexDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8#
- readInt8X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X16##)
- readInt16X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X8##)
- readInt32X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X4##)
- readInt64X2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X2##)
- readInt8X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X32##)
- readInt16X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X16##)
- readInt32X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X8##)
- readInt64X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X4##)
- readInt8X64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X64##)
- readInt16X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X32##)
- readInt32X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X16##)
- readInt64X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X8##)
- readWord8X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X16##)
- readWord16X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X8##)
- readWord32X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X4##)
- readWord64X2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X2##)
- readWord8X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X32##)
- readWord16X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X16##)
- readWord32X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X8##)
- readWord64X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X4##)
- readWord8X64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X64##)
- readWord16X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X32##)
- readWord32X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X16##)
- readWord64X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X8##)
- readFloatX4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX4##)
- readDoubleX2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX2##)
- readFloatX8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX8##)
- readDoubleX4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX4##)
- readFloatX16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX16##)
- readDoubleX8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX8##)
- writeInt8X16OffAddr# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d
- writeInt16X8OffAddr# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d
- writeInt32X4OffAddr# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d
- writeInt64X2OffAddr# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d
- writeInt8X32OffAddr# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d
- writeInt16X16OffAddr# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d
- writeInt32X8OffAddr# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d
- writeInt64X4OffAddr# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d
- writeInt8X64OffAddr# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d
- writeInt16X32OffAddr# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d
- writeInt32X16OffAddr# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d
- writeInt64X8OffAddr# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d
- writeWord8X16OffAddr# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d
- writeWord16X8OffAddr# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d
- writeWord32X4OffAddr# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d
- writeWord64X2OffAddr# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d
- writeWord8X32OffAddr# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d
- writeWord16X16OffAddr# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d
- writeWord32X8OffAddr# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d
- writeWord64X4OffAddr# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d
- writeWord8X64OffAddr# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d
- writeWord16X32OffAddr# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d
- writeWord32X16OffAddr# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d
- writeWord64X8OffAddr# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d
- writeFloatX4OffAddr# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d
- writeDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d
- writeFloatX8OffAddr# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d
- writeDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d
- writeFloatX16OffAddr# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d
- writeDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d
- indexInt8ArrayAsInt8X16# :: ByteArray# -> Int# -> Int8X16#
- indexInt16ArrayAsInt16X8# :: ByteArray# -> Int# -> Int16X8#
- indexInt32ArrayAsInt32X4# :: ByteArray# -> Int# -> Int32X4#
- indexInt64ArrayAsInt64X2# :: ByteArray# -> Int# -> Int64X2#
- indexInt8ArrayAsInt8X32# :: ByteArray# -> Int# -> Int8X32#
- indexInt16ArrayAsInt16X16# :: ByteArray# -> Int# -> Int16X16#
- indexInt32ArrayAsInt32X8# :: ByteArray# -> Int# -> Int32X8#
- indexInt64ArrayAsInt64X4# :: ByteArray# -> Int# -> Int64X4#
- indexInt8ArrayAsInt8X64# :: ByteArray# -> Int# -> Int8X64#
- indexInt16ArrayAsInt16X32# :: ByteArray# -> Int# -> Int16X32#
- indexInt32ArrayAsInt32X16# :: ByteArray# -> Int# -> Int32X16#
- indexInt64ArrayAsInt64X8# :: ByteArray# -> Int# -> Int64X8#
- indexWord8ArrayAsWord8X16# :: ByteArray# -> Int# -> Word8X16#
- indexWord16ArrayAsWord16X8# :: ByteArray# -> Int# -> Word16X8#
- indexWord32ArrayAsWord32X4# :: ByteArray# -> Int# -> Word32X4#
- indexWord64ArrayAsWord64X2# :: ByteArray# -> Int# -> Word64X2#
- indexWord8ArrayAsWord8X32# :: ByteArray# -> Int# -> Word8X32#
- indexWord16ArrayAsWord16X16# :: ByteArray# -> Int# -> Word16X16#
- indexWord32ArrayAsWord32X8# :: ByteArray# -> Int# -> Word32X8#
- indexWord64ArrayAsWord64X4# :: ByteArray# -> Int# -> Word64X4#
- indexWord8ArrayAsWord8X64# :: ByteArray# -> Int# -> Word8X64#
- indexWord16ArrayAsWord16X32# :: ByteArray# -> Int# -> Word16X32#
- indexWord32ArrayAsWord32X16# :: ByteArray# -> Int# -> Word32X16#
- indexWord64ArrayAsWord64X8# :: ByteArray# -> Int# -> Word64X8#
- indexFloatArrayAsFloatX4# :: ByteArray# -> Int# -> FloatX4#
- indexDoubleArrayAsDoubleX2# :: ByteArray# -> Int# -> DoubleX2#
- indexFloatArrayAsFloatX8# :: ByteArray# -> Int# -> FloatX8#
- indexDoubleArrayAsDoubleX4# :: ByteArray# -> Int# -> DoubleX4#
- indexFloatArrayAsFloatX16# :: ByteArray# -> Int# -> FloatX16#
- indexDoubleArrayAsDoubleX8# :: ByteArray# -> Int# -> DoubleX8#
- readInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X16##)
- readInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X8##)
- readInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X4##)
- readInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X2##)
- readInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X32##)
- readInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X16##)
- readInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X8##)
- readInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X4##)
- readInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X64##)
- readInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X32##)
- readInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X16##)
- readInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X8##)
- readWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X16##)
- readWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X8##)
- readWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X4##)
- readWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X2##)
- readWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X32##)
- readWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X16##)
- readWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X8##)
- readWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X4##)
- readWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X64##)
- readWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X32##)
- readWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X16##)
- readWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X8##)
- readFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX4##)
- readDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX2##)
- readFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX8##)
- readDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX4##)
- readFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX16##)
- readDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX8##)
- writeInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d
- writeInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d
- writeInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d
- writeInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d
- writeInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d
- writeInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d
- writeInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d
- writeInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d
- writeInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d
- writeInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d
- writeInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d
- writeInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d
- writeWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d
- writeWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d
- writeWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d
- writeWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d
- writeWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d
- writeWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d
- writeWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d
- writeWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d
- writeWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d
- writeWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d
- writeWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d
- writeWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d
- writeFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d
- writeDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d
- writeFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d
- writeDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d
- writeFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d
- writeDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d
- indexInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16#
- indexInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8#
- indexInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4#
- indexInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2#
- indexInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32#
- indexInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16#
- indexInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8#
- indexInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4#
- indexInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64#
- indexInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32#
- indexInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16#
- indexInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8#
- indexWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16#
- indexWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8#
- indexWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4#
- indexWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2#
- indexWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32#
- indexWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16#
- indexWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8#
- indexWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4#
- indexWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64#
- indexWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32#
- indexWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16#
- indexWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8#
- indexFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4#
- indexDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2#
- indexFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8#
- indexDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4#
- indexFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16#
- indexDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8#
- readInt8OffAddrAsInt8X16# :: Addr# -> Int# -> State# d -> (#State# d, Int8X16##)
- readInt16OffAddrAsInt16X8# :: Addr# -> Int# -> State# d -> (#State# d, Int16X8##)
- readInt32OffAddrAsInt32X4# :: Addr# -> Int# -> State# d -> (#State# d, Int32X4##)
- readInt64OffAddrAsInt64X2# :: Addr# -> Int# -> State# d -> (#State# d, Int64X2##)
- readInt8OffAddrAsInt8X32# :: Addr# -> Int# -> State# d -> (#State# d, Int8X32##)
- readInt16OffAddrAsInt16X16# :: Addr# -> Int# -> State# d -> (#State# d, Int16X16##)
- readInt32OffAddrAsInt32X8# :: Addr# -> Int# -> State# d -> (#State# d, Int32X8##)
- readInt64OffAddrAsInt64X4# :: Addr# -> Int# -> State# d -> (#State# d, Int64X4##)
- readInt8OffAddrAsInt8X64# :: Addr# -> Int# -> State# d -> (#State# d, Int8X64##)
- readInt16OffAddrAsInt16X32# :: Addr# -> Int# -> State# d -> (#State# d, Int16X32##)
- readInt32OffAddrAsInt32X16# :: Addr# -> Int# -> State# d -> (#State# d, Int32X16##)
- readInt64OffAddrAsInt64X8# :: Addr# -> Int# -> State# d -> (#State# d, Int64X8##)
- readWord8OffAddrAsWord8X16# :: Addr# -> Int# -> State# d -> (#State# d, Word8X16##)
- readWord16OffAddrAsWord16X8# :: Addr# -> Int# -> State# d -> (#State# d, Word16X8##)
- readWord32OffAddrAsWord32X4# :: Addr# -> Int# -> State# d -> (#State# d, Word32X4##)
- readWord64OffAddrAsWord64X2# :: Addr# -> Int# -> State# d -> (#State# d, Word64X2##)
- readWord8OffAddrAsWord8X32# :: Addr# -> Int# -> State# d -> (#State# d, Word8X32##)
- readWord16OffAddrAsWord16X16# :: Addr# -> Int# -> State# d -> (#State# d, Word16X16##)
- readWord32OffAddrAsWord32X8# :: Addr# -> Int# -> State# d -> (#State# d, Word32X8##)
- readWord64OffAddrAsWord64X4# :: Addr# -> Int# -> State# d -> (#State# d, Word64X4##)
- readWord8OffAddrAsWord8X64# :: Addr# -> Int# -> State# d -> (#State# d, Word8X64##)
- readWord16OffAddrAsWord16X32# :: Addr# -> Int# -> State# d -> (#State# d, Word16X32##)
- readWord32OffAddrAsWord32X16# :: Addr# -> Int# -> State# d -> (#State# d, Word32X16##)
- readWord64OffAddrAsWord64X8# :: Addr# -> Int# -> State# d -> (#State# d, Word64X8##)
- readFloatOffAddrAsFloatX4# :: Addr# -> Int# -> State# d -> (#State# d, FloatX4##)
- readDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX2##)
- readFloatOffAddrAsFloatX8# :: Addr# -> Int# -> State# d -> (#State# d, FloatX8##)
- readDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX4##)
- readFloatOffAddrAsFloatX16# :: Addr# -> Int# -> State# d -> (#State# d, FloatX16##)
- readDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX8##)
- writeInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d
- writeInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d
- writeInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d
- writeInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d
- writeInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d
- writeInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d
- writeInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d
- writeInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d
- writeInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d
- writeInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d
- writeInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d
- writeInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d
- writeWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d
- writeWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d
- writeWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d
- writeWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d
- writeWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d
- writeWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d
- writeWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d
- writeWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d
- writeWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d
- writeWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d
- writeWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d
- writeWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d
- writeFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d
- writeDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d
- writeFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d
- writeDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d
- writeFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d
- writeDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d
- prefetchByteArray3# :: ByteArray# -> Int# -> State# d -> State# d
- prefetchMutableByteArray3# :: MutableByteArray# d -> Int# -> State# d -> State# d
- prefetchAddr3# :: Addr# -> Int# -> State# d -> State# d
- prefetchValue3# :: a -> State# d -> State# d
- prefetchByteArray2# :: ByteArray# -> Int# -> State# d -> State# d
- prefetchMutableByteArray2# :: MutableByteArray# d -> Int# -> State# d -> State# d
- prefetchAddr2# :: Addr# -> Int# -> State# d -> State# d
- prefetchValue2# :: a -> State# d -> State# d
- prefetchByteArray1# :: ByteArray# -> Int# -> State# d -> State# d
- prefetchMutableByteArray1# :: MutableByteArray# d -> Int# -> State# d -> State# d
- prefetchAddr1# :: Addr# -> Int# -> State# d -> State# d
- prefetchValue1# :: a -> State# d -> State# d
- prefetchByteArray0# :: ByteArray# -> Int# -> State# d -> State# d
- prefetchMutableByteArray0# :: MutableByteArray# d -> Int# -> State# d -> State# d
- prefetchAddr0# :: Addr# -> Int# -> State# d -> State# d
- prefetchValue0# :: a -> State# d -> State# d
- shiftL# :: Word# -> Int# -> Word#
- shiftRL# :: Word# -> Int# -> Word#
- iShiftL# :: Int# -> Int# -> Int#
- iShiftRA# :: Int# -> Int# -> Int#
- iShiftRL# :: Int# -> Int# -> Int#
- uncheckedShiftL64# :: Word# -> Int# -> Word#
- uncheckedShiftRL64# :: Word# -> Int# -> Word#
- uncheckedIShiftL64# :: Int# -> Int# -> Int#
- uncheckedIShiftRA64# :: Int# -> Int# -> Int#
- isTrue# :: Int# -> Bool
- build :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]
- augment :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a] -> [a]
- class IsString a where
  - fromString :: String -> a
- breakpoint :: a -> a
- breakpointCond :: Bool -> a -> a
- lazy :: a -> a
- inline :: a -> a
- oneShot :: (a -> b) -> a -> b
- runRW# :: (State# RealWorld -> o) -> o
- coerce :: Coercible a b => a -> b
- class a ~R# b => Coercible (a :: k0) (b :: k0)
- class a ~# b => (a :: k0) ~~ (b :: k1)
- data TYPE (a :: RuntimeRep) :: RuntimeRep -> Type
- data RuntimeRep
  - = VecRep VecCount VecElem
  - | TupleRep [RuntimeRep]
  - | SumRep [RuntimeRep]
  - | LiftedRep
  - | UnliftedRep
  - | IntRep
  - | WordRep
  - | Int64Rep
  - | Word64Rep
  - | AddrRep
  - | FloatRep
  - | DoubleRep
- data VecCount
  - = Vec2
  - | Vec4
  - | Vec8
  - | Vec16
  - | Vec32
  - | Vec64
- data VecElem
  - = Int8ElemRep
  - | Int16ElemRep
  - | Int32ElemRep
  - | Int64ElemRep
  - | Word8ElemRep
  - | Word16ElemRep
  - | Word32ElemRep
  - | Word64ElemRep
  - | FloatElemRep
  - | DoubleElemRep
- newtype Down a = Down a
- groupWith :: Ord b => (a -> b) -> [a] -> [[a]]
- sortWith :: Ord b => (a -> b) -> [a] -> [a]
- the :: Eq a => [a] -> a
- traceEvent :: String -> IO ()
- data SpecConstrAnnotation
  - = NoSpecConstr
  - | ForceSpecConstr
- currentCallStack :: IO [String]
- data Constraint
- type family Any :: k0 where ...
- class IsList l where
  - type Item l
  - fromList :: [Item l] -> l
  - fromListN :: Int -> [Item l] -> l
  - toList :: l -> [Item l]

# Representations of some basic types

data Int Source #

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 `minBound` and `maxBound` from the `Bounded` class.

Constructors

I# Int# |

Instances

Bounded Int # | Since: base-2.1
Instance details Defined in GHC.Enum Methods minBound :: Int # maxBound :: Int #
Enum Int # | Since: base-2.1
Instance details Defined in GHC.Enum Methods succ :: Int -> Int # pred :: Int -> Int # toEnum :: Int -> Int # fromEnum :: Int -> Int # enumFrom :: Int -> [Int] # enumFromThen :: Int -> Int -> [Int] # enumFromTo :: Int -> Int -> [Int] # enumFromThenTo :: Int -> Int -> Int -> [Int] #
Eq Int |
Instance details Defined in GHC.Classes Methods (==) :: Int -> Int -> Bool Source # (/=) :: Int -> Int -> Bool Source #
Integral Int # | Since: base-2.0.1
Instance details Defined in GHC.Real Methods quot :: Int -> Int -> Int # rem :: Int -> Int -> Int # div :: Int -> Int -> Int # mod :: Int -> Int -> Int # quotRem :: Int -> Int -> (Int, Int) # divMod :: Int -> Int -> (Int, Int) # toInteger :: Int -> Integer #
Data Int # | Since: base-4.0.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Int -> c Int # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Int # toConstr :: Int -> Constr # dataTypeOf :: Int -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Int) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Int) # gmapT :: (forall b. Data b => b -> b) -> Int -> Int # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Int -> r # gmapQ :: (forall d. Data d => d -> u) -> Int -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Int -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Int -> m Int # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Int -> m Int #
Num Int # | Since: base-2.1
Instance details Defined in GHC.Num Methods (+) :: Int -> Int -> Int # (-) :: Int -> Int -> Int # (*) :: Int -> Int -> Int # negate :: Int -> Int # abs :: Int -> Int # signum :: Int -> Int # fromInteger :: Integer -> Int #
Ord Int |
Instance details Defined in GHC.Classes Methods compare :: Int -> Int -> Ordering Source # (<) :: Int -> Int -> Bool Source # (<=) :: Int -> Int -> Bool Source # (>) :: Int -> Int -> Bool Source # (>=) :: Int -> Int -> Bool Source # max :: Int -> Int -> Int Source # min :: Int -> Int -> Int Source #
Read Int # | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Int # readList :: ReadS [Int] # readPrec :: ReadPrec Int # readListPrec :: ReadPrec [Int] #
Real Int # | Since: base-2.0.1
Instance details Defined in GHC.Real Methods toRational :: Int -> Rational #
Show Int # | Since: base-2.1
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Int -> ShowS # show :: Int -> String # showList :: [Int] -> ShowS #
Ix Int # | Since: base-2.1
Instance details Defined in GHC.Arr Methods range :: (Int, Int) -> [Int] # index :: (Int, Int) -> Int -> Int # unsafeIndex :: (Int, Int) -> Int -> Int inRange :: (Int, Int) -> Int -> Bool # rangeSize :: (Int, Int) -> Int # unsafeRangeSize :: (Int, Int) -> Int
FiniteBits Int # | Since: base-4.6.0.0
Instance details Defined in Data.Bits Methods finiteBitSize :: Int -> Int # countLeadingZeros :: Int -> Int # countTrailingZeros :: Int -> Int #
Bits Int # | Since: base-2.1
Instance details Defined in Data.Bits Methods (.&.) :: Int -> Int -> Int # (.|.) :: Int -> Int -> Int # xor :: Int -> Int -> Int # complement :: Int -> Int # shift :: Int -> Int -> Int # rotate :: Int -> Int -> Int # zeroBits :: Int # bit :: Int -> Int # setBit :: Int -> Int -> Int # clearBit :: Int -> Int -> Int # complementBit :: Int -> Int -> Int # testBit :: Int -> Int -> Bool # bitSizeMaybe :: Int -> Maybe Int # bitSize :: Int -> Int # isSigned :: Int -> Bool # shiftL :: Int -> Int -> Int # unsafeShiftL :: Int -> Int -> Int # shiftR :: Int -> Int -> Int # unsafeShiftR :: Int -> Int -> Int # rotateL :: Int -> Int -> Int # rotateR :: Int -> Int -> Int # popCount :: Int -> Int #
Storable Int # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Int -> Int # alignment :: Int -> Int # peekElemOff :: Ptr Int -> Int -> IO Int # pokeElemOff :: Ptr Int -> Int -> Int -> IO () # peekByteOff :: Ptr b -> Int -> IO Int # pokeByteOff :: Ptr b -> Int -> Int -> IO () # peek :: Ptr Int -> IO Int # poke :: Ptr Int -> Int -> IO () #
PrintfArg Int # | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Int -> FieldFormatter # parseFormat :: Int -> ModifierParser #
Generic1 (URec Int :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Int) :: k -> Type # Methods from1 :: URec Int a -> Rep1 (URec Int) a # to1 :: Rep1 (URec Int) a -> URec Int a #
Functor (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Int a -> URec Int b # (<$) :: a -> URec Int b -> URec Int a #
Foldable (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Int m -> m # foldMap :: Monoid m => (a -> m) -> URec Int a -> m # foldr :: (a -> b -> b) -> b -> URec Int a -> b # foldr' :: (a -> b -> b) -> b -> URec Int a -> b # foldl :: (b -> a -> b) -> b -> URec Int a -> b # foldl' :: (b -> a -> b) -> b -> URec Int a -> b # foldr1 :: (a -> a -> a) -> URec Int a -> a # foldl1 :: (a -> a -> a) -> URec Int a -> a # toList :: URec Int a -> [a] # null :: URec Int a -> Bool # length :: URec Int a -> Int # elem :: Eq a => a -> URec Int a -> Bool # maximum :: Ord a => URec Int a -> a # minimum :: Ord a => URec Int a -> a # sum :: Num a => URec Int a -> a # product :: Num a => URec Int a -> a #
Traversable (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Int a -> f (URec Int b) # sequenceA :: Applicative f => URec Int (f a) -> f (URec Int a) # mapM :: Monad m => (a -> m b) -> URec Int a -> m (URec Int b) # sequence :: Monad m => URec Int (m a) -> m (URec Int a) #
Eq (URec Int p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (==) :: URec Int p -> URec Int p -> Bool Source # (/=) :: URec Int p -> URec Int p -> Bool Source #
Ord (URec Int p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods compare :: URec Int p -> URec Int p -> Ordering Source # (<) :: URec Int p -> URec Int p -> Bool Source # (<=) :: URec Int p -> URec Int p -> Bool Source # (>) :: URec Int p -> URec Int p -> Bool Source # (>=) :: URec Int p -> URec Int p -> Bool Source # max :: URec Int p -> URec Int p -> URec Int p Source # min :: URec Int p -> URec Int p -> URec Int p Source #
Show (URec Int p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Int p -> ShowS # show :: URec Int p -> String # showList :: [URec Int p] -> ShowS #
Generic (URec Int p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Int p) :: Type -> Type # Methods from :: URec Int p -> Rep (URec Int p) x # to :: Rep (URec Int p) x -> URec Int p #
data URec Int (p :: k) # | Used for marking occurrences of `Int#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec Int (p :: k) = UInt { uInt# :: Int# }
type Rep1 (URec Int :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec Int :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UInt" PrefixI True) (S1 (MetaSel (Just "uInt#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UInt :: k -> Type)))
type Rep (URec Int p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep (URec Int p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UInt" PrefixI True) (S1 (MetaSel (Just "uInt#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UInt :: Type -> Type)))

data Word Source #

A `Word` is an unsigned integral type, with the same size as `Int`.

Constructors

W# Word# |

Instances

Bounded Word # | Since: base-2.1
Instance details Defined in GHC.Enum Methods minBound :: Word # maxBound :: Word #
Enum Word # | Since: base-2.1
Instance details Defined in GHC.Enum Methods succ :: Word -> Word # pred :: Word -> Word # toEnum :: Int -> Word # fromEnum :: Word -> Int # enumFrom :: Word -> [Word] # enumFromThen :: Word -> Word -> [Word] # enumFromTo :: Word -> Word -> [Word] # enumFromThenTo :: Word -> Word -> Word -> [Word] #
Eq Word |
Instance details Defined in GHC.Classes Methods (==) :: Word -> Word -> Bool Source # (/=) :: Word -> Word -> Bool Source #
Integral Word # | Since: base-2.1
Instance details Defined in GHC.Real Methods quot :: Word -> Word -> Word # rem :: Word -> Word -> Word # div :: Word -> Word -> Word # mod :: Word -> Word -> Word # quotRem :: Word -> Word -> (Word, Word) # divMod :: Word -> Word -> (Word, Word) # toInteger :: Word -> Integer #
Data Word # | Since: base-4.0.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c Word # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word # toConstr :: Word -> Constr # dataTypeOf :: Word -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) # gmapT :: (forall b. Data b => b -> b) -> Word -> Word # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r # gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m Word # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m Word #
Num Word # | Since: base-2.1
Instance details Defined in GHC.Num Methods (+) :: Word -> Word -> Word # (-) :: Word -> Word -> Word # (*) :: Word -> Word -> Word # negate :: Word -> Word # abs :: Word -> Word # signum :: Word -> Word # fromInteger :: Integer -> Word #
Ord Word |
Instance details Defined in GHC.Classes Methods compare :: Word -> Word -> Ordering Source # (<) :: Word -> Word -> Bool Source # (<=) :: Word -> Word -> Bool Source # (>) :: Word -> Word -> Bool Source # (>=) :: Word -> Word -> Bool Source # max :: Word -> Word -> Word Source # min :: Word -> Word -> Word Source #
Read Word # | Since: base-4.5.0.0
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Word # readList :: ReadS [Word] # readPrec :: ReadPrec Word # readListPrec :: ReadPrec [Word] #
Real Word # | Since: base-2.1
Instance details Defined in GHC.Real Methods toRational :: Word -> Rational #
Show Word # | Since: base-2.1
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Word -> ShowS # show :: Word -> String # showList :: [Word] -> ShowS #
Ix Word # | Since: base-4.6.0.0
Instance details Defined in GHC.Arr Methods range :: (Word, Word) -> [Word] # index :: (Word, Word) -> Word -> Int # unsafeIndex :: (Word, Word) -> Word -> Int inRange :: (Word, Word) -> Word -> Bool # rangeSize :: (Word, Word) -> Int # unsafeRangeSize :: (Word, Word) -> Int
FiniteBits Word # | Since: base-4.6.0.0
Instance details Defined in Data.Bits Methods finiteBitSize :: Word -> Int # countLeadingZeros :: Word -> Int # countTrailingZeros :: Word -> Int #
Bits Word # | Since: base-2.1
Instance details Defined in Data.Bits Methods (.&.) :: Word -> Word -> Word # (.|.) :: Word -> Word -> Word # xor :: Word -> Word -> Word # complement :: Word -> Word # shift :: Word -> Int -> Word # rotate :: Word -> Int -> Word # zeroBits :: Word # bit :: Int -> Word # setBit :: Word -> Int -> Word # clearBit :: Word -> Int -> Word # complementBit :: Word -> Int -> Word # testBit :: Word -> Int -> Bool # bitSizeMaybe :: Word -> Maybe Int # bitSize :: Word -> Int # isSigned :: Word -> Bool # shiftL :: Word -> Int -> Word # unsafeShiftL :: Word -> Int -> Word # shiftR :: Word -> Int -> Word # unsafeShiftR :: Word -> Int -> Word # rotateL :: Word -> Int -> Word # rotateR :: Word -> Int -> Word # popCount :: Word -> Int #
Storable Word # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Word -> Int # alignment :: Word -> Int # peekElemOff :: Ptr Word -> Int -> IO Word # pokeElemOff :: Ptr Word -> Int -> Word -> IO () # peekByteOff :: Ptr b -> Int -> IO Word # pokeByteOff :: Ptr b -> Int -> Word -> IO () # peek :: Ptr Word -> IO Word # poke :: Ptr Word -> Word -> IO () #
PrintfArg Word # | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Word -> FieldFormatter # parseFormat :: Word -> ModifierParser #
Generic1 (URec Word :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Word) :: k -> Type # Methods from1 :: URec Word a -> Rep1 (URec Word) a # to1 :: Rep1 (URec Word) a -> URec Word a #
Functor (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Word a -> URec Word b # (<$) :: a -> URec Word b -> URec Word a #
Foldable (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Word m -> m # foldMap :: Monoid m => (a -> m) -> URec Word a -> m # foldr :: (a -> b -> b) -> b -> URec Word a -> b # foldr' :: (a -> b -> b) -> b -> URec Word a -> b # foldl :: (b -> a -> b) -> b -> URec Word a -> b # foldl' :: (b -> a -> b) -> b -> URec Word a -> b # foldr1 :: (a -> a -> a) -> URec Word a -> a # foldl1 :: (a -> a -> a) -> URec Word a -> a # toList :: URec Word a -> [a] # null :: URec Word a -> Bool # length :: URec Word a -> Int # elem :: Eq a => a -> URec Word a -> Bool # maximum :: Ord a => URec Word a -> a # minimum :: Ord a => URec Word a -> a # sum :: Num a => URec Word a -> a # product :: Num a => URec Word a -> a #
Traversable (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Word a -> f (URec Word b) # sequenceA :: Applicative f => URec Word (f a) -> f (URec Word a) # mapM :: Monad m => (a -> m b) -> URec Word a -> m (URec Word b) # sequence :: Monad m => URec Word (m a) -> m (URec Word a) #
Eq (URec Word p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (==) :: URec Word p -> URec Word p -> Bool Source # (/=) :: URec Word p -> URec Word p -> Bool Source #
Ord (URec Word p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods compare :: URec Word p -> URec Word p -> Ordering Source # (<) :: URec Word p -> URec Word p -> Bool Source # (<=) :: URec Word p -> URec Word p -> Bool Source # (>) :: URec Word p -> URec Word p -> Bool Source # (>=) :: URec Word p -> URec Word p -> Bool Source # max :: URec Word p -> URec Word p -> URec Word p Source # min :: URec Word p -> URec Word p -> URec Word p Source #
Show (URec Word p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Word p -> ShowS # show :: URec Word p -> String # showList :: [URec Word p] -> ShowS #
Generic (URec Word p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Word p) :: Type -> Type # Methods from :: URec Word p -> Rep (URec Word p) x # to :: Rep (URec Word p) x -> URec Word p #
data URec Word (p :: k) # | Used for marking occurrences of `Word#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec Word (p :: k) = UWord { uWord# :: Word# }
type Rep1 (URec Word :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec Word :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UWord" PrefixI True) (S1 (MetaSel (Just "uWord#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UWord :: k -> Type)))
type Rep (URec Word p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep (URec Word p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UWord" PrefixI True) (S1 (MetaSel (Just "uWord#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UWord :: Type -> Type)))

data Float Source #

Single-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE single-precision type.

Constructors

F# Float# |

Instances

Enum Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods succ :: Float -> Float # pred :: Float -> Float # toEnum :: Int -> Float # fromEnum :: Float -> Int # enumFrom :: Float -> [Float] # enumFromThen :: Float -> Float -> [Float] # enumFromTo :: Float -> Float -> [Float] # enumFromThenTo :: Float -> Float -> Float -> [Float] #
Eq Float | Note that due to the presence of `NaN`, `Float`'s `Eq` instance does not satisfy reflexivity.
    >>> 0/0 == (0/0 :: Float)
    False
Also note that `Float`'s `Eq` instance does not satisfy substitutivity:
    >>> 0 == (-0 :: Float)
    True
    >>> recip 0 == recip (-0 :: Float)
    False
Instance details Defined in GHC.Classes Methods (==) :: Float -> Float -> Bool Source # (/=) :: Float -> Float -> Bool Source #
Floating Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods pi :: Float # exp :: Float -> Float # log :: Float -> Float # sqrt :: Float -> Float # (**) :: Float -> Float -> Float # logBase :: Float -> Float -> Float # sin :: Float -> Float # cos :: Float -> Float # tan :: Float -> Float # asin :: Float -> Float # acos :: Float -> Float # atan :: Float -> Float # sinh :: Float -> Float # cosh :: Float -> Float # tanh :: Float -> Float # asinh :: Float -> Float # acosh :: Float -> Float # atanh :: Float -> Float # log1p :: Float -> Float # expm1 :: Float -> Float # log1pexp :: Float -> Float # log1mexp :: Float -> Float #
Fractional Float # | Note that due to the presence of `NaN`, not all elements of `Float` have an multiplicative inverse.
    >>> 0/0 * (recip 0/0 :: Float)
    NaN
Since: base-2.1
Instance details Defined in GHC.Float Methods (/) :: Float -> Float -> Float # recip :: Float -> Float # fromRational :: Rational -> Float #
Data Float # | Since: base-4.0.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Float -> c Float # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Float # toConstr :: Float -> Constr # dataTypeOf :: Float -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Float) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Float) # gmapT :: (forall b. Data b => b -> b) -> Float -> Float # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Float -> r # gmapQ :: (forall d. Data d => d -> u) -> Float -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Float -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Float -> m Float # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Float -> m Float #
Num Float # | Note that due to the presence of `NaN`, not all elements of `Float` have an additive inverse.
    >>> 0/0 + (negate 0/0 :: Float)
    NaN
Also note that due to the presence of -0, `Float`'s `Num` instance doesn't have an additive identity
    >>> 0 + (-0 :: Float)
    0.0
Since: base-2.1
Instance details Defined in GHC.Float Methods (+) :: Float -> Float -> Float # (-) :: Float -> Float -> Float # (*) :: Float -> Float -> Float # negate :: Float -> Float # abs :: Float -> Float # signum :: Float -> Float # fromInteger :: Integer -> Float #
Ord Float | Note that due to the presence of `NaN`, `Float`'s `Ord` instance does not satisfy reflexivity.
    >>> 0/0 <= (0/0 :: Float)
    False
Also note that, due to the same, `Ord`'s operator interactions are not respected by `Float`'s instance:
    >>> (0/0 :: Float) > 1
    False
    >>> compare (0/0 :: Float) 1
    GT
Instance details Defined in GHC.Classes Methods compare :: Float -> Float -> Ordering Source # (<) :: Float -> Float -> Bool Source # (<=) :: Float -> Float -> Bool Source # (>) :: Float -> Float -> Bool Source # (>=) :: Float -> Float -> Bool Source # max :: Float -> Float -> Float Source # min :: Float -> Float -> Float Source #
Read Float # | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Float # readList :: ReadS [Float] # readPrec :: ReadPrec Float # readListPrec :: ReadPrec [Float] #
Real Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods toRational :: Float -> Rational #
RealFloat Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods floatRadix :: Float -> Integer # floatDigits :: Float -> Int # floatRange :: Float -> (Int, Int) # decodeFloat :: Float -> (Integer, Int) # encodeFloat :: Integer -> Int -> Float # exponent :: Float -> Int # significand :: Float -> Float # scaleFloat :: Int -> Float -> Float # isNaN :: Float -> Bool # isInfinite :: Float -> Bool # isDenormalized :: Float -> Bool # isNegativeZero :: Float -> Bool # isIEEE :: Float -> Bool # atan2 :: Float -> Float -> Float #
RealFrac Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods properFraction :: Integral b => Float -> (b, Float) # truncate :: Integral b => Float -> b # round :: Integral b => Float -> b # ceiling :: Integral b => Float -> b # floor :: Integral b => Float -> b #
Show Float # | Since: base-2.1
Instance details Defined in GHC.Float Methods showsPrec :: Int -> Float -> ShowS # show :: Float -> String # showList :: [Float] -> ShowS #
Storable Float # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Float -> Int # alignment :: Float -> Int # peekElemOff :: Ptr Float -> Int -> IO Float # pokeElemOff :: Ptr Float -> Int -> Float -> IO () # peekByteOff :: Ptr b -> Int -> IO Float # pokeByteOff :: Ptr b -> Int -> Float -> IO () # peek :: Ptr Float -> IO Float # poke :: Ptr Float -> Float -> IO () #
PrintfArg Float # | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Float -> FieldFormatter # parseFormat :: Float -> ModifierParser #
Generic1 (URec Float :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Float) :: k -> Type # Methods from1 :: URec Float a -> Rep1 (URec Float) a # to1 :: Rep1 (URec Float) a -> URec Float a #
Functor (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Float a -> URec Float b # (<$) :: a -> URec Float b -> URec Float a #
Foldable (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Float m -> m # foldMap :: Monoid m => (a -> m) -> URec Float a -> m # foldr :: (a -> b -> b) -> b -> URec Float a -> b # foldr' :: (a -> b -> b) -> b -> URec Float a -> b # foldl :: (b -> a -> b) -> b -> URec Float a -> b # foldl' :: (b -> a -> b) -> b -> URec Float a -> b # foldr1 :: (a -> a -> a) -> URec Float a -> a # foldl1 :: (a -> a -> a) -> URec Float a -> a # toList :: URec Float a -> [a] # null :: URec Float a -> Bool # length :: URec Float a -> Int # elem :: Eq a => a -> URec Float a -> Bool # maximum :: Ord a => URec Float a -> a # minimum :: Ord a => URec Float a -> a # sum :: Num a => URec Float a -> a # product :: Num a => URec Float a -> a #
Traversable (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Float a -> f (URec Float b) # sequenceA :: Applicative f => URec Float (f a) -> f (URec Float a) # mapM :: Monad m => (a -> m b) -> URec Float a -> m (URec Float b) # sequence :: Monad m => URec Float (m a) -> m (URec Float a) #
Eq (URec Float p) # |
Instance details Defined in GHC.Generics Methods (==) :: URec Float p -> URec Float p -> Bool Source # (/=) :: URec Float p -> URec Float p -> Bool Source #
Ord (URec Float p) # |
Instance details Defined in GHC.Generics Methods compare :: URec Float p -> URec Float p -> Ordering Source # (<) :: URec Float p -> URec Float p -> Bool Source # (<=) :: URec Float p -> URec Float p -> Bool Source # (>) :: URec Float p -> URec Float p -> Bool Source # (>=) :: URec Float p -> URec Float p -> Bool Source # max :: URec Float p -> URec Float p -> URec Float p Source # min :: URec Float p -> URec Float p -> URec Float p Source #
Show (URec Float p) # |
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Float p -> ShowS # show :: URec Float p -> String # showList :: [URec Float p] -> ShowS #
Generic (URec Float p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Float p) :: Type -> Type # Methods from :: URec Float p -> Rep (URec Float p) x # to :: Rep (URec Float p) x -> URec Float p #
data URec Float (p :: k) # | Used for marking occurrences of `Float#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec Float (p :: k) = UFloat { uFloat# :: Float# }
type Rep1 (URec Float :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec Float :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UFloat" PrefixI True) (S1 (MetaSel (Just "uFloat#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UFloat :: k -> Type)))
type Rep (URec Float p) # |
Instance details Defined in GHC.Generics type Rep (URec Float p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UFloat" PrefixI True) (S1 (MetaSel (Just "uFloat#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UFloat :: Type -> Type)))

data Double Source #

Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.

Constructors

D# Double# |

Instances

Enum Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods succ :: Double -> Double # pred :: Double -> Double # toEnum :: Int -> Double # fromEnum :: Double -> Int # enumFrom :: Double -> [Double] # enumFromThen :: Double -> Double -> [Double] # enumFromTo :: Double -> Double -> [Double] # enumFromThenTo :: Double -> Double -> Double -> [Double] #
Eq Double | Note that due to the presence of `NaN`, `Double`'s `Eq` instance does not satisfy reflexivity.
    >>> 0/0 == (0/0 :: Double)
    False
Also note that `Double`'s `Eq` instance does not satisfy substitutivity:
    >>> 0 == (-0 :: Double)
    True
    >>> recip 0 == recip (-0 :: Double)
    False
Instance details Defined in GHC.Classes Methods (==) :: Double -> Double -> Bool Source # (/=) :: Double -> Double -> Bool Source #
Floating Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods pi :: Double # exp :: Double -> Double # log :: Double -> Double # sqrt :: Double -> Double # (**) :: Double -> Double -> Double # logBase :: Double -> Double -> Double # sin :: Double -> Double # cos :: Double -> Double # tan :: Double -> Double # asin :: Double -> Double # acos :: Double -> Double # atan :: Double -> Double # sinh :: Double -> Double # cosh :: Double -> Double # tanh :: Double -> Double # asinh :: Double -> Double # acosh :: Double -> Double # atanh :: Double -> Double # log1p :: Double -> Double # expm1 :: Double -> Double # log1pexp :: Double -> Double # log1mexp :: Double -> Double #
Fractional Double # | Note that due to the presence of `NaN`, not all elements of `Double` have an multiplicative inverse.
    >>> 0/0 * (recip 0/0 :: Double)
    NaN
Since: base-2.1
Instance details Defined in GHC.Float Methods (/) :: Double -> Double -> Double # recip :: Double -> Double # fromRational :: Rational -> Double #
Data Double # | Since: base-4.0.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Double -> c Double # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Double # toConstr :: Double -> Constr # dataTypeOf :: Double -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Double) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Double) # gmapT :: (forall b. Data b => b -> b) -> Double -> Double # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Double -> r # gmapQ :: (forall d. Data d => d -> u) -> Double -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Double -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Double -> m Double # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Double -> m Double #
Num Double # | Note that due to the presence of `NaN`, not all elements of `Double` have an additive inverse.
    >>> 0/0 + (negate 0/0 :: Double)
    NaN
Also note that due to the presence of -0, `Double`'s `Num` instance doesn't have an additive identity
    >>> 0 + (-0 :: Double)
    0.0
Since: base-2.1
Instance details Defined in GHC.Float Methods (+) :: Double -> Double -> Double # (-) :: Double -> Double -> Double # (*) :: Double -> Double -> Double # negate :: Double -> Double # abs :: Double -> Double # signum :: Double -> Double # fromInteger :: Integer -> Double #
Ord Double | Note that due to the presence of `NaN`, `Double`'s `Ord` instance does not satisfy reflexivity.
    >>> 0/0 <= (0/0 :: Double)
    False
Also note that, due to the same, `Ord`'s operator interactions are not respected by `Double`'s instance:
    >>> (0/0 :: Double) > 1
    False
    >>> compare (0/0 :: Double) 1
    GT
Instance details Defined in GHC.Classes Methods compare :: Double -> Double -> Ordering Source # (<) :: Double -> Double -> Bool Source # (<=) :: Double -> Double -> Bool Source # (>) :: Double -> Double -> Bool Source # (>=) :: Double -> Double -> Bool Source # max :: Double -> Double -> Double Source # min :: Double -> Double -> Double Source #
Read Double # | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Double # readList :: ReadS [Double] # readPrec :: ReadPrec Double # readListPrec :: ReadPrec [Double] #
Real Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods toRational :: Double -> Rational #
RealFloat Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods floatRadix :: Double -> Integer # floatDigits :: Double -> Int # floatRange :: Double -> (Int, Int) # decodeFloat :: Double -> (Integer, Int) # encodeFloat :: Integer -> Int -> Double # exponent :: Double -> Int # significand :: Double -> Double # scaleFloat :: Int -> Double -> Double # isNaN :: Double -> Bool # isInfinite :: Double -> Bool # isDenormalized :: Double -> Bool # isNegativeZero :: Double -> Bool # isIEEE :: Double -> Bool # atan2 :: Double -> Double -> Double #
RealFrac Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods properFraction :: Integral b => Double -> (b, Double) # truncate :: Integral b => Double -> b # round :: Integral b => Double -> b # ceiling :: Integral b => Double -> b # floor :: Integral b => Double -> b #
Show Double # | Since: base-2.1
Instance details Defined in GHC.Float Methods showsPrec :: Int -> Double -> ShowS # show :: Double -> String # showList :: [Double] -> ShowS #
Storable Double # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Double -> Int # alignment :: Double -> Int # peekElemOff :: Ptr Double -> Int -> IO Double # pokeElemOff :: Ptr Double -> Int -> Double -> IO () # peekByteOff :: Ptr b -> Int -> IO Double # pokeByteOff :: Ptr b -> Int -> Double -> IO () # peek :: Ptr Double -> IO Double # poke :: Ptr Double -> Double -> IO () #
PrintfArg Double # | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Double -> FieldFormatter # parseFormat :: Double -> ModifierParser #
Generic1 (URec Double :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Double) :: k -> Type # Methods from1 :: URec Double a -> Rep1 (URec Double) a # to1 :: Rep1 (URec Double) a -> URec Double a #
Functor (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Double a -> URec Double b # (<$) :: a -> URec Double b -> URec Double a #
Foldable (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Double m -> m # foldMap :: Monoid m => (a -> m) -> URec Double a -> m # foldr :: (a -> b -> b) -> b -> URec Double a -> b # foldr' :: (a -> b -> b) -> b -> URec Double a -> b # foldl :: (b -> a -> b) -> b -> URec Double a -> b # foldl' :: (b -> a -> b) -> b -> URec Double a -> b # foldr1 :: (a -> a -> a) -> URec Double a -> a # foldl1 :: (a -> a -> a) -> URec Double a -> a # toList :: URec Double a -> [a] # null :: URec Double a -> Bool # length :: URec Double a -> Int # elem :: Eq a => a -> URec Double a -> Bool # maximum :: Ord a => URec Double a -> a # minimum :: Ord a => URec Double a -> a # sum :: Num a => URec Double a -> a # product :: Num a => URec Double a -> a #
Traversable (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Double a -> f (URec Double b) # sequenceA :: Applicative f => URec Double (f a) -> f (URec Double a) # mapM :: Monad m => (a -> m b) -> URec Double a -> m (URec Double b) # sequence :: Monad m => URec Double (m a) -> m (URec Double a) #
Eq (URec Double p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (==) :: URec Double p -> URec Double p -> Bool Source # (/=) :: URec Double p -> URec Double p -> Bool Source #
Ord (URec Double p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods compare :: URec Double p -> URec Double p -> Ordering Source # (<) :: URec Double p -> URec Double p -> Bool Source # (<=) :: URec Double p -> URec Double p -> Bool Source # (>) :: URec Double p -> URec Double p -> Bool Source # (>=) :: URec Double p -> URec Double p -> Bool Source # max :: URec Double p -> URec Double p -> URec Double p Source # min :: URec Double p -> URec Double p -> URec Double p Source #
Show (URec Double p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Double p -> ShowS # show :: URec Double p -> String # showList :: [URec Double p] -> ShowS #
Generic (URec Double p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Double p) :: Type -> Type # Methods from :: URec Double p -> Rep (URec Double p) x # to :: Rep (URec Double p) x -> URec Double p #
data URec Double (p :: k) # | Used for marking occurrences of `Double#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec Double (p :: k) = UDouble { uDouble# :: Double# }
type Rep1 (URec Double :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec Double :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UDouble" PrefixI True) (S1 (MetaSel (Just "uDouble#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UDouble :: k -> Type)))
type Rep (URec Double p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep (URec Double p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UDouble" PrefixI True) (S1 (MetaSel (Just "uDouble#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UDouble :: Type -> Type)))

data Char Source #

The character type `Char` is an enumeration whose values represent Unicode (or equivalently ISO/IEC 10646) code points (i.e. characters, see http://www.unicode.org/ for details). This set extends the ISO 8859-1 (Latin-1) character set (the first 256 characters), which is itself an extension of the ASCII character set (the first 128 characters). A character literal in Haskell has type `Char`.

To convert a `Char` to or from the corresponding `Int` value defined by Unicode, use `toEnum` and `fromEnum` from the `Enum` class respectively (or equivalently `ord` and `chr`).

Constructors

C# Char# |

Instances

Bounded Char # | Since: base-2.1
Instance details Defined in GHC.Enum Methods minBound :: Char # maxBound :: Char #
Enum Char # | Since: base-2.1
Instance details Defined in GHC.Enum Methods succ :: Char -> Char # pred :: Char -> Char # toEnum :: Int -> Char # fromEnum :: Char -> Int # enumFrom :: Char -> [Char] # enumFromThen :: Char -> Char -> [Char] # enumFromTo :: Char -> Char -> [Char] # enumFromThenTo :: Char -> Char -> Char -> [Char] #
Eq Char |
Instance details Defined in GHC.Classes Methods (==) :: Char -> Char -> Bool Source # (/=) :: Char -> Char -> Bool Source #
Data Char # | Since: base-4.0.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Char -> c Char # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Char # toConstr :: Char -> Constr # dataTypeOf :: Char -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Char) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Char) # gmapT :: (forall b. Data b => b -> b) -> Char -> Char # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r # gmapQ :: (forall d. Data d => d -> u) -> Char -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Char -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Char -> m Char # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char #
Ord Char |
Instance details Defined in GHC.Classes Methods compare :: Char -> Char -> Ordering Source # (<) :: Char -> Char -> Bool Source # (<=) :: Char -> Char -> Bool Source # (>) :: Char -> Char -> Bool Source # (>=) :: Char -> Char -> Bool Source # max :: Char -> Char -> Char Source # min :: Char -> Char -> Char Source #
Read Char # | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Char # readList :: ReadS [Char] # readPrec :: ReadPrec Char # readListPrec :: ReadPrec [Char] #
Show Char # | Since: base-2.1
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Char -> ShowS # show :: Char -> String # showList :: [Char] -> ShowS #
Ix Char # | Since: base-2.1
Instance details Defined in GHC.Arr Methods range :: (Char, Char) -> [Char] # index :: (Char, Char) -> Char -> Int # unsafeIndex :: (Char, Char) -> Char -> Int inRange :: (Char, Char) -> Char -> Bool # rangeSize :: (Char, Char) -> Int # unsafeRangeSize :: (Char, Char) -> Int
Storable Char # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Char -> Int # alignment :: Char -> Int # peekElemOff :: Ptr Char -> Int -> IO Char # pokeElemOff :: Ptr Char -> Int -> Char -> IO () # peekByteOff :: Ptr b -> Int -> IO Char # pokeByteOff :: Ptr b -> Int -> Char -> IO () # peek :: Ptr Char -> IO Char # poke :: Ptr Char -> Char -> IO () #
IsChar Char # | Since: base-2.1
Instance details Defined in Text.Printf Methods toChar :: Char -> Char # fromChar :: Char -> Char #
PrintfArg Char # | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Char -> FieldFormatter # parseFormat :: Char -> ModifierParser #
Generic1 (URec Char :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Char) :: k -> Type # Methods from1 :: URec Char a -> Rep1 (URec Char) a # to1 :: Rep1 (URec Char) a -> URec Char a #
Functor (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Char a -> URec Char b # (<$) :: a -> URec Char b -> URec Char a #
Foldable (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Char m -> m # foldMap :: Monoid m => (a -> m) -> URec Char a -> m # foldr :: (a -> b -> b) -> b -> URec Char a -> b # foldr' :: (a -> b -> b) -> b -> URec Char a -> b # foldl :: (b -> a -> b) -> b -> URec Char a -> b # foldl' :: (b -> a -> b) -> b -> URec Char a -> b # foldr1 :: (a -> a -> a) -> URec Char a -> a # foldl1 :: (a -> a -> a) -> URec Char a -> a # toList :: URec Char a -> [a] # null :: URec Char a -> Bool # length :: URec Char a -> Int # elem :: Eq a => a -> URec Char a -> Bool # maximum :: Ord a => URec Char a -> a # minimum :: Ord a => URec Char a -> a # sum :: Num a => URec Char a -> a # product :: Num a => URec Char a -> a #
Traversable (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Char a -> f (URec Char b) # sequenceA :: Applicative f => URec Char (f a) -> f (URec Char a) # mapM :: Monad m => (a -> m b) -> URec Char a -> m (URec Char b) # sequence :: Monad m => URec Char (m a) -> m (URec Char a) #
Eq (URec Char p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (==) :: URec Char p -> URec Char p -> Bool Source # (/=) :: URec Char p -> URec Char p -> Bool Source #
Ord (URec Char p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods compare :: URec Char p -> URec Char p -> Ordering Source # (<) :: URec Char p -> URec Char p -> Bool Source # (<=) :: URec Char p -> URec Char p -> Bool Source # (>) :: URec Char p -> URec Char p -> Bool Source # (>=) :: URec Char p -> URec Char p -> Bool Source # max :: URec Char p -> URec Char p -> URec Char p Source # min :: URec Char p -> URec Char p -> URec Char p Source #
Show (URec Char p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Char p -> ShowS # show :: URec Char p -> String # showList :: [URec Char p] -> ShowS #
Generic (URec Char p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Char p) :: Type -> Type # Methods from :: URec Char p -> Rep (URec Char p) x # to :: Rep (URec Char p) x -> URec Char p #
data URec Char (p :: k) # | Used for marking occurrences of `Char#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec Char (p :: k) = UChar { uChar# :: Char# }
type Rep1 (URec Char :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec Char :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UChar" PrefixI True) (S1 (MetaSel (Just "uChar#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UChar :: k -> Type)))
type Rep (URec Char p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep (URec Char p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UChar" PrefixI True) (S1 (MetaSel (Just "uChar#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UChar :: Type -> Type)))

data Ptr a #

A 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`.

Constructors

Ptr Addr# |

Instances

Generic1 (URec (Ptr ()) :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec (Ptr ())) :: k -> Type # Methods from1 :: URec (Ptr ()) a -> Rep1 (URec (Ptr ())) a # to1 :: Rep1 (URec (Ptr ())) a -> URec (Ptr ()) a #
Eq (Ptr a) # | Since: base-2.1
Instance details Defined in GHC.Ptr Methods (==) :: Ptr a -> Ptr a -> Bool Source # (/=) :: Ptr a -> Ptr a -> Bool Source #
Data a => Data (Ptr a) # | Since: base-4.8.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ptr a -> c (Ptr a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ptr a) # toConstr :: Ptr a -> Constr # dataTypeOf :: Ptr a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ptr a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ptr a)) # gmapT :: (forall b. Data b => b -> b) -> Ptr a -> Ptr a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ptr a -> r # gmapQ :: (forall d. Data d => d -> u) -> Ptr a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ptr a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ptr a -> m (Ptr a) #
Ord (Ptr a) # | Since: base-2.1
Instance details Defined in GHC.Ptr Methods compare :: Ptr a -> Ptr a -> Ordering Source # (<) :: Ptr a -> Ptr a -> Bool Source # (<=) :: Ptr a -> Ptr a -> Bool Source # (>) :: Ptr a -> Ptr a -> Bool Source # (>=) :: Ptr a -> Ptr a -> Bool Source # max :: Ptr a -> Ptr a -> Ptr a Source # min :: Ptr a -> Ptr a -> Ptr a Source #
Show (Ptr a) # | Since: base-2.1
Instance details Defined in GHC.Ptr Methods showsPrec :: Int -> Ptr a -> ShowS # show :: Ptr a -> String # showList :: [Ptr a] -> ShowS #
Storable (Ptr a) # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: Ptr a -> Int # alignment :: Ptr a -> Int # peekElemOff :: Ptr (Ptr a) -> Int -> IO (Ptr a) # pokeElemOff :: Ptr (Ptr a) -> Int -> Ptr a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Ptr a) # pokeByteOff :: Ptr b -> Int -> Ptr a -> IO () # peek :: Ptr (Ptr a) -> IO (Ptr a) # poke :: Ptr (Ptr a) -> Ptr a -> IO () #
Functor (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b # (<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #
Foldable (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec (Ptr ()) m -> m # foldMap :: Monoid m => (a -> m) -> URec (Ptr ()) a -> m # foldr :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b # foldr' :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b # foldl :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b # foldl' :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b # foldr1 :: (a -> a -> a) -> URec (Ptr ()) a -> a # foldl1 :: (a -> a -> a) -> URec (Ptr ()) a -> a # toList :: URec (Ptr ()) a -> [a] # null :: URec (Ptr ()) a -> Bool # length :: URec (Ptr ()) a -> Int # elem :: Eq a => a -> URec (Ptr ()) a -> Bool # maximum :: Ord a => URec (Ptr ()) a -> a # minimum :: Ord a => URec (Ptr ()) a -> a # sum :: Num a => URec (Ptr ()) a -> a # product :: Num a => URec (Ptr ()) a -> a #
Traversable (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec (Ptr ()) a -> f (URec (Ptr ()) b) # sequenceA :: Applicative f => URec (Ptr ()) (f a) -> f (URec (Ptr ()) a) # mapM :: Monad m => (a -> m b) -> URec (Ptr ()) a -> m (URec (Ptr ()) b) # sequence :: Monad m => URec (Ptr ()) (m a) -> m (URec (Ptr ()) a) #
Eq (URec (Ptr ()) p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source # (/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source #
Ord (URec (Ptr ()) p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering Source # (<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source # (<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source # (>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source # (>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source # max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Source # min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p Source #
Generic (URec (Ptr ()) p) # |
Instance details Defined in GHC.Generics Associated Types type Rep (URec (Ptr ()) p) :: Type -> Type # Methods from :: URec (Ptr ()) p -> Rep (URec (Ptr ()) p) x # to :: Rep (URec (Ptr ()) p) x -> URec (Ptr ()) p #
data URec (Ptr ()) (p :: k) # | Used for marking occurrences of `Addr#` Since: base-4.9.0.0
Instance details Defined in GHC.Generics data URec (Ptr ()) (p :: k) = UAddr { uAddr# :: Addr# }
type Rep1 (URec (Ptr ()) :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (URec (Ptr ()) :: k -> Type) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UAddr" PrefixI True) (S1 (MetaSel (Just "uAddr#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UAddr :: k -> Type)))
type Rep (URec (Ptr ()) p) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep (URec (Ptr ()) p) = D1 (MetaData "URec" "GHC.Generics" "base" False) (C1 (MetaCons "UAddr" PrefixI True) (S1 (MetaSel (Just "uAddr#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UAddr :: Type -> Type)))

data FunPtr a #

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` a` or a renaming of any of these using `newtype`.
- the return type is either a marshallable foreign type or has the form ``IO` t` where `t` is 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 -> IntFunction

Constructors

FunPtr Addr# |

Instances

Eq (FunPtr a) # |
Instance details Defined in GHC.Ptr Methods (==) :: FunPtr a -> FunPtr a -> Bool Source # (/=) :: FunPtr a -> FunPtr a -> Bool Source #
Ord (FunPtr a) # |
Instance details Defined in GHC.Ptr Methods compare :: FunPtr a -> FunPtr a -> Ordering Source # (<) :: FunPtr a -> FunPtr a -> Bool Source # (<=) :: FunPtr a -> FunPtr a -> Bool Source # (>) :: FunPtr a -> FunPtr a -> Bool Source # (>=) :: FunPtr a -> FunPtr a -> Bool Source # max :: FunPtr a -> FunPtr a -> FunPtr a Source # min :: FunPtr a -> FunPtr a -> FunPtr a Source #
Show (FunPtr a) # | Since: base-2.1
Instance details Defined in GHC.Ptr Methods showsPrec :: Int -> FunPtr a -> ShowS # show :: FunPtr a -> String # showList :: [FunPtr a] -> ShowS #
Storable (FunPtr a) # | Since: base-2.1
Instance details Defined in Foreign.Storable Methods sizeOf :: FunPtr a -> Int # alignment :: FunPtr a -> Int # peekElemOff :: Ptr (FunPtr a) -> Int -> IO (FunPtr a) # pokeElemOff :: Ptr (FunPtr a) -> Int -> FunPtr a -> IO () # peekByteOff :: Ptr b -> Int -> IO (FunPtr a) # pokeByteOff :: Ptr b -> Int -> FunPtr a -> IO () # peek :: Ptr (FunPtr a) -> IO (FunPtr a) # poke :: Ptr (FunPtr a) -> FunPtr a -> IO () #

# The maximum tuple size

maxTupleSize :: Int #

# Primitive operations

seq :: a -> b -> b Source #

The value of `seq a b` is bottom if `a` is bottom, and otherwise equal to `b`. In other words, it evaluates the first argument `a` to weak head normal form (WHNF). `seq` is usually introduced to improve performance by avoiding unneeded laziness.

A note on evaluation order: the expression `seq a b` does not guarantee that `a` will be evaluated before `b`. The only guarantee given by `seq` is that the both `a` and `b` will be evaluated before `seq` returns a value. In particular, this means that `b` may be evaluated before `a`. If you need to guarantee a specific order of evaluation, you must use the function `pseq` from the "parallel" package.

realWorld# :: State# RealWorld Source #

void# :: Void# Source #

unsafeCoerce# :: a -> b Source #

The function `unsafeCoerce#` allows you to side-step the typechecker entirely. That is, it allows you to coerce any type into any other type. If you use this function, you had better get it right, otherwise segmentation faults await. It is generally used when you want to write a program that you know is well-typed, but where Haskell's type system is not expressive enough to prove that it is well typed.

The following uses of `unsafeCoerce#` are supposed to work (i.e. not lead to spurious compile-time or run-time crashes):

- Casting any lifted type to `Any`
- Casting `Any` back to the real type
- Casting an unboxed type to another unboxed type of the same size. (Casting between floating-point and integral types does not work. See the `GHC.Float` module for functions to do work.)
- Casting between two types that have the same runtime representation. One case is when the two types differ only in "phantom" type parameters, for example `Ptr Int` to `Ptr Float`, or `[Int]` to `[Float]` when the list is known to be empty. Also, a `newtype` of a type `T` has the same representation at runtime as `T`.

Other uses of `unsafeCoerce#` are undefined. In particular, you should not use `unsafeCoerce#` to cast a T to an algebraic data type D, unless T is also an algebraic data type. For example, do not cast `Int->Int` to `Bool`, even if you later cast that `Bool` back to `Int->Int` before applying it. The reasons have to do with GHC's internal representation details (for the cognoscenti, data values can be entered but function closures cannot). If you want a safe type to cast things to, use `Any`, which is not an algebraic data type.

nullAddr# :: Addr# Source #

The null address.

magicDict :: a Source #

proxy# :: Proxy# a Source #

Witness for an unboxed `Proxy#` value, which has no runtime representation.

data Addr# :: TYPE AddrRep Source #

An arbitrary machine address assumed to point outside the garbage-collected heap.

data Array# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data ByteArray# :: TYPE UnliftedRep Source #

data Char# :: TYPE WordRep Source #

data Double# :: TYPE DoubleRep Source #

data Float# :: TYPE FloatRep Source #

data Int# :: TYPE IntRep Source #

data Int32# :: TYPE IntRep Source #

data Int64# :: TYPE Int64Rep Source #

data Weak# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data MutableArray# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep Source #

data MutableByteArray# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data MVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep Source #

A shared mutable variable (not the same as a `MutVar#`!). (Note: in a non-concurrent implementation, `(MVar# a)` can be represented by `(MutVar# (Maybe a))`.)

data RealWorld :: Type Source #

`RealWorld` is deeply magical. It is primitive, but it is not unlifted (hence `ptrArg`). We never manipulate values of type `RealWorld`; it's only used in the type system, to parameterise `State#`.

data StablePtr# (a :: Type) :: Type -> TYPE AddrRep Source #

data ArrayArray# :: TYPE UnliftedRep Source #

data MutableArrayArray# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data State# (a :: Type) :: Type -> TYPE (TupleRep ([] :: [RuntimeRep])) Source #

`State#` is the primitive, unlifted type of states. It has one type parameter, thus `State# RealWorld`, or `State# s`, where s is a type variable. The only purpose of the type parameter is to keep different state threads separate. It is represented by nothing at all.

data StableName# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data MutVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep Source #

A `MutVar#` behaves like a single-element mutable array.

data Void# :: TYPE (TupleRep ([] :: [RuntimeRep])) Source #

data Word# :: TYPE WordRep Source #

data Word32# :: TYPE WordRep Source #

data Word64# :: TYPE Word64Rep Source #

data ThreadId# :: TYPE UnliftedRep Source #

(In a non-concurrent implementation, this can be a singleton type, whose (unique) value is returned by `myThreadId#`. The other operations can be omitted.)

data BCO# :: TYPE UnliftedRep Source #

Primitive bytecode type.

data TVar# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep Source #

data Compact# :: TYPE UnliftedRep Source #

data Proxy# :: forall k0. k0 -> TYPE (TupleRep ([] :: [RuntimeRep])) Source #

The type constructor `Proxy#` is used to bear witness to some type variable. It's used when you want to pass around proxy values for doing things like modelling type applications. A `Proxy#` is not only unboxed, it also has a polymorphic kind, and has no runtime representation, being totally free.

data SmallArray# (a :: Type) :: Type -> TYPE UnliftedRep Source #

data SmallMutableArray# (a :: Type) (b :: Type) :: Type -> Type -> TYPE UnliftedRep Source #

data Int8X16# :: TYPE (VecRep Vec16 Int8ElemRep) Source #

data Int16X8# :: TYPE (VecRep Vec8 Int16ElemRep) Source #

data Int32X4# :: TYPE (VecRep Vec4 Int32ElemRep) Source #

data Int64X2# :: TYPE (VecRep Vec2 Int64ElemRep) Source #

data Int8X32# :: TYPE (VecRep Vec32 Int8ElemRep) Source #

data Int16X16# :: TYPE (VecRep Vec16 Int16ElemRep) Source #

data Int32X8# :: TYPE (VecRep Vec8 Int32ElemRep) Source #

data Int64X4# :: TYPE (VecRep Vec4 Int64ElemRep) Source #

data Int8X64# :: TYPE (VecRep Vec64 Int8ElemRep) Source #

data Int16X32# :: TYPE (VecRep Vec32 Int16ElemRep) Source #

data Int32X16# :: TYPE (VecRep Vec16 Int32ElemRep) Source #

data Int64X8# :: TYPE (VecRep Vec8 Int64ElemRep) Source #

data Word8X16# :: TYPE (VecRep Vec16 Word8ElemRep) Source #

data Word16X8# :: TYPE (VecRep Vec8 Word16ElemRep) Source #

data Word32X4# :: TYPE (VecRep Vec4 Word32ElemRep) Source #

data Word64X2# :: TYPE (VecRep Vec2 Word64ElemRep) Source #

data Word8X32# :: TYPE (VecRep Vec32 Word8ElemRep) Source #

data Word16X16# :: TYPE (VecRep Vec16 Word16ElemRep) Source #

data Word32X8# :: TYPE (VecRep Vec8 Word32ElemRep) Source #

data Word64X4# :: TYPE (VecRep Vec4 Word64ElemRep) Source #

data Word8X64# :: TYPE (VecRep Vec64 Word8ElemRep) Source #

data Word16X32# :: TYPE (VecRep Vec32 Word16ElemRep) Source #

data Word32X16# :: TYPE (VecRep Vec16 Word32ElemRep) Source #

data Word64X8# :: TYPE (VecRep Vec8 Word64ElemRep) Source #

data FloatX4# :: TYPE (VecRep Vec4 FloatElemRep) Source #

data DoubleX2# :: TYPE (VecRep Vec2 DoubleElemRep) Source #

data FloatX8# :: TYPE (VecRep Vec8 FloatElemRep) Source #

data DoubleX4# :: TYPE (VecRep Vec4 DoubleElemRep) Source #

data FloatX16# :: TYPE (VecRep Vec16 FloatElemRep) Source #

data DoubleX8# :: TYPE (VecRep Vec8 DoubleElemRep) Source #

gtChar# :: Char# -> Char# -> Int# Source #

geChar# :: Char# -> Char# -> Int# Source #

eqChar# :: Char# -> Char# -> Int# Source #

neChar# :: Char# -> Char# -> Int# Source #

ltChar# :: Char# -> Char# -> Int# Source #

leChar# :: Char# -> Char# -> Int# Source #

ord# :: Char# -> Int# Source #

(+#) :: Int# -> Int# -> Int# infixl 6 Source #

(-#) :: Int# -> Int# -> Int# infixl 6 Source #

(*#) :: Int# -> Int# -> Int# infixl 7 Source #

Low word of signed integer multiply.

mulIntMayOflo# :: Int# -> Int# -> Int# Source #

Return non-zero if there is any possibility that the upper word of a signed integer multiply might contain useful information. Return zero only if you are completely sure that no overflow can occur. On a 32-bit platform, the recommended implementation is to do a 32 x 32 -> 64 signed multiply, and subtract result[63:32] from (result[31] >>signed 31). If this is zero, meaning that the upper word is merely a sign extension of the lower one, no overflow can occur.

On a 64-bit platform it is not always possible to acquire the top 64 bits of the result. Therefore, a recommended implementation is to take the absolute value of both operands, and return 0 iff bits[63:31] of them are zero, since that means that their magnitudes fit within 31 bits, so the magnitude of the product must fit into 62 bits.

If in doubt, return non-zero, but do make an effort to create the correct answer for small args, since otherwise the performance of `(*) :: Integer -> Integer -> Integer` will be poor.

quotInt# :: Int# -> Int# -> Int# Source #

Rounds towards zero. The behavior is undefined if the second argument is zero.

remInt# :: Int# -> Int# -> Int# Source #

Satisfies `(quotInt# x y) *# y +# (remInt# x y) == x`. The behavior is undefined if the second argument is zero.

quotRemInt# :: Int# -> Int# -> (#Int#, Int##) Source #

Rounds towards zero.

andI# :: Int# -> Int# -> Int# Source #

orI# :: Int# -> Int# -> Int# Source #

xorI# :: Int# -> Int# -> Int# Source #

notI# :: Int# -> Int# Source #

negateInt# :: Int# -> Int# Source #

addIntC# :: Int# -> Int# -> (#Int#, Int##) Source #

Add signed integers reporting overflow. First member of result is the sum truncated to an `Int#`; second member is zero if the true sum fits in an `Int#`, nonzero if overflow occurred (the sum is either too large or too small to fit in an `Int#`).

subIntC# :: Int# -> Int# -> (#Int#, Int##) Source #

Subtract signed integers reporting overflow. First member of result is the difference truncated to an `Int#`; second member is zero if the true difference fits in an `Int#`, nonzero if overflow occurred (the difference is either too large or too small to fit in an `Int#`).

(>#) :: Int# -> Int# -> Int# infix 4 Source #

(>=#) :: Int# -> Int# -> Int# infix 4 Source #

(==#) :: Int# -> Int# -> Int# infix 4 Source #

(/=#) :: Int# -> Int# -> Int# infix 4 Source #

(<#) :: Int# -> Int# -> Int# infix 4 Source #

(<=#) :: Int# -> Int# -> Int# infix 4 Source #

chr# :: Int# -> Char# Source #

int2Word# :: Int# -> Word# Source #

int2Float# :: Int# -> Float# Source #

int2Double# :: Int# -> Double# Source #

word2Float# :: Word# -> Float# Source #

word2Double# :: Word# -> Double# Source #

uncheckedIShiftL# :: Int# -> Int# -> Int# Source #

Shift left. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.

uncheckedIShiftRA# :: Int# -> Int# -> Int# Source #

Shift right arithmetic. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.

uncheckedIShiftRL# :: Int# -> Int# -> Int# Source #

Shift right logical. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.

plusWord# :: Word# -> Word# -> Word# Source #

addWordC# :: Word# -> Word# -> (#Word#, Int##) Source #

Add unsigned integers reporting overflow. The first element of the pair is the result. The second element is the carry flag, which is nonzero on overflow. See also `plusWord2#`.

subWordC# :: Word# -> Word# -> (#Word#, Int##) Source #

Subtract unsigned integers reporting overflow. The first element of the pair is the result. The second element is the carry flag, which is nonzero on overflow.

plusWord2# :: Word# -> Word# -> (#Word#, Word##) Source #

Add unsigned integers, with the high part (carry) in the first component of the returned pair and the low part in the second component of the pair. See also `addWordC#`.

minusWord# :: Word# -> Word# -> Word# Source #

timesWord# :: Word# -> Word# -> Word# Source #

timesWord2# :: Word# -> Word# -> (#Word#, Word##) Source #

quotWord# :: Word# -> Word# -> Word# Source #

remWord# :: Word# -> Word# -> Word# Source #

quotRemWord# :: Word# -> Word# -> (#Word#, Word##) Source #

quotRemWord2# :: Word# -> Word# -> Word# -> (#Word#, Word##) Source #

and# :: Word# -> Word# -> Word# Source #

or# :: Word# -> Word# -> Word# Source #

xor# :: Word# -> Word# -> Word# Source #

not# :: Word# -> Word# Source #

uncheckedShiftL# :: Word# -> Int# -> Word# Source #

Shift left logical. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.

uncheckedShiftRL# :: Word# -> Int# -> Word# Source #

Shift right logical. Result undefined if shift amount is not in the range 0 to word size - 1 inclusive.

word2Int# :: Word# -> Int# Source #

gtWord# :: Word# -> Word# -> Int# Source #

geWord# :: Word# -> Word# -> Int# Source #

eqWord# :: Word# -> Word# -> Int# Source #

neWord# :: Word# -> Word# -> Int# Source #

ltWord# :: Word# -> Word# -> Int# Source #

leWord# :: Word# -> Word# -> Int# Source #

popCnt8# :: Word# -> Word# Source #

Count the number of set bits in the lower 8 bits of a word.

popCnt16# :: Word# -> Word# Source #

Count the number of set bits in the lower 16 bits of a word.

popCnt32# :: Word# -> Word# Source #

Count the number of set bits in the lower 32 bits of a word.

popCnt64# :: Word# -> Word# Source #

Count the number of set bits in a 64-bit word.

popCnt# :: Word# -> Word# Source #

Count the number of set bits in a word.

pdep8# :: Word# -> Word# -> Word# Source #

Deposit bits to lower 8 bits of a word at locations specified by a mask.

pdep16# :: Word# -> Word# -> Word# Source #

Deposit bits to lower 16 bits of a word at locations specified by a mask.

pdep32# :: Word# -> Word# -> Word# Source #

Deposit bits to lower 32 bits of a word at locations specified by a mask.

pdep64# :: Word# -> Word# -> Word# Source #

Deposit bits to a word at locations specified by a mask.

pdep# :: Word# -> Word# -> Word# Source #

Deposit bits to a word at locations specified by a mask.

pext8# :: Word# -> Word# -> Word# Source #

Extract bits from lower 8 bits of a word at locations specified by a mask.

pext16# :: Word# -> Word# -> Word# Source #

Extract bits from lower 16 bits of a word at locations specified by a mask.

pext32# :: Word# -> Word# -> Word# Source #

Extract bits from lower 32 bits of a word at locations specified by a mask.

pext64# :: Word# -> Word# -> Word# Source #

Extract bits from a word at locations specified by a mask.

pext# :: Word# -> Word# -> Word# Source #

Extract bits from a word at locations specified by a mask.

clz8# :: Word# -> Word# Source #

Count leading zeros in the lower 8 bits of a word.

clz16# :: Word# -> Word# Source #

Count leading zeros in the lower 16 bits of a word.

clz32# :: Word# -> Word# Source #

Count leading zeros in the lower 32 bits of a word.

clz64# :: Word# -> Word# Source #

Count leading zeros in a 64-bit word.

clz# :: Word# -> Word# Source #

Count leading zeros in a word.

ctz8# :: Word# -> Word# Source #

Count trailing zeros in the lower 8 bits of a word.

ctz16# :: Word# -> Word# Source #

Count trailing zeros in the lower 16 bits of a word.

ctz32# :: Word# -> Word# Source #

Count trailing zeros in the lower 32 bits of a word.

ctz64# :: Word# -> Word# Source #

Count trailing zeros in a 64-bit word.

ctz# :: Word# -> Word# Source #

Count trailing zeros in a word.

byteSwap16# :: Word# -> Word# Source #

Swap bytes in the lower 16 bits of a word. The higher bytes are undefined.

byteSwap32# :: Word# -> Word# Source #

Swap bytes in the lower 32 bits of a word. The higher bytes are undefined.

byteSwap64# :: Word# -> Word# Source #

Swap bytes in a 64 bits of a word.

byteSwap# :: Word# -> Word# Source #

Swap bytes in a word.

narrow8Int# :: Int# -> Int# Source #

narrow16Int# :: Int# -> Int# Source #

narrow32Int# :: Int# -> Int# Source #

narrow8Word# :: Word# -> Word# Source #

narrow16Word# :: Word# -> Word# Source #

narrow32Word# :: Word# -> Word# Source #

(>##) :: Double# -> Double# -> Int# infix 4 Source #

(>=##) :: Double# -> Double# -> Int# infix 4 Source #

(==##) :: Double# -> Double# -> Int# infix 4 Source #

(/=##) :: Double# -> Double# -> Int# infix 4 Source #

(<##) :: Double# -> Double# -> Int# infix 4 Source #

(<=##) :: Double# -> Double# -> Int# infix 4 Source #

(+##) :: Double# -> Double# -> Double# infixl 6 Source #

(-##) :: Double# -> Double# -> Double# infixl 6 Source #

(*##) :: Double# -> Double# -> Double# infixl 7 Source #

(/##) :: Double# -> Double# -> Double# infixl 7 Source #

negateDouble# :: Double# -> Double# Source #

fabsDouble# :: Double# -> Double# Source #

double2Int# :: Double# -> Int# Source #

Truncates a `Double#` value to the nearest `Int#`. Results are undefined if the truncation if truncation yields a value outside the range of `Int#`.

double2Float# :: Double# -> Float# Source #

expDouble# :: Double# -> Double# Source #

logDouble# :: Double# -> Double# Source #

sqrtDouble# :: Double# -> Double# Source #

sinDouble# :: Double# -> Double# Source #

cosDouble# :: Double# -> Double# Source #

tanDouble# :: Double# -> Double# Source #

asinDouble# :: Double# -> Double# Source #

acosDouble# :: Double# -> Double# Source #

atanDouble# :: Double# -> Double# Source #

sinhDouble# :: Double# -> Double# Source #

coshDouble# :: Double# -> Double# Source #

tanhDouble# :: Double# -> Double# Source #

(**##) :: Double# -> Double# -> Double# Source #

Exponentiation.

decodeDouble_2Int# :: Double# -> (#Int#, Word#, Word#, Int##) Source #

Convert to integer. First component of the result is -1 or 1, indicating the sign of the mantissa. The next two are the high and low 32 bits of the mantissa respectively, and the last is the exponent.

decodeDouble_Int64# :: Double# -> (#Int#, Int##) Source #

Decode `Double#` into mantissa and base-2 exponent.

gtFloat# :: Float# -> Float# -> Int# Source #

geFloat# :: Float# -> Float# -> Int# Source #

eqFloat# :: Float# -> Float# -> Int# Source #

neFloat# :: Float# -> Float# -> Int# Source #

ltFloat# :: Float# -> Float# -> Int# Source #

leFloat# :: Float# -> Float# -> Int# Source #

plusFloat# :: Float# -> Float# -> Float# Source #

minusFloat# :: Float# -> Float# -> Float# Source #

timesFloat# :: Float# -> Float# -> Float# Source #

divideFloat# :: Float# -> Float# -> Float# Source #

negateFloat# :: Float# -> Float# Source #

fabsFloat# :: Float# -> Float# Source #

float2Int# :: Float# -> Int# Source #

Truncates a `Float#` value to the nearest `Int#`. Results are undefined if the truncation if truncation yields a value outside the range of `Int#`.

expFloat# :: Float# -> Float# Source #

logFloat# :: Float# -> Float# Source #

sqrtFloat# :: Float# -> Float# Source #

sinFloat# :: Float# -> Float# Source #

cosFloat# :: Float# -> Float# Source #

tanFloat# :: Float# -> Float# Source #

asinFloat# :: Float# -> Float# Source #

acosFloat# :: Float# -> Float# Source #

atanFloat# :: Float# -> Float# Source #

sinhFloat# :: Float# -> Float# Source #

coshFloat# :: Float# -> Float# Source #

tanhFloat# :: Float# -> Float# Source #

powerFloat# :: Float# -> Float# -> Float# Source #

float2Double# :: Float# -> Double# Source #

decodeFloat_Int# :: Float# -> (#Int#, Int##) Source #

Convert to integers. First `Int#` in result is the mantissa; second is the exponent.

newArray# :: Int# -> a -> State# d -> (#State# d, MutableArray# d a#) Source #

Create a new mutable array with the specified number of elements, in the specified state thread, with each element containing the specified initial value.

sameMutableArray# :: MutableArray# d a -> MutableArray# d a -> Int# Source #

readArray# :: MutableArray# d a -> Int# -> State# d -> (#State# d, a#) Source #

Read from specified index of mutable array. Result is not yet evaluated.

writeArray# :: MutableArray# d a -> Int# -> a -> State# d -> State# d Source #

Write to specified index of mutable array.

sizeofArray# :: Array# a -> Int# Source #

Return the number of elements in the array.

sizeofMutableArray# :: MutableArray# d a -> Int# Source #

Return the number of elements in the array.

indexArray# :: Array# a -> Int# -> (#a#) Source #

Read from the specified index of an immutable array. The result is packaged into an unboxed unary tuple; the result itself is not yet evaluated. Pattern matching on the tuple forces the indexing of the array to happen but does not evaluate the element itself. Evaluating the thunk prevents additional thunks from building up on the heap. Avoiding these thunks, in turn, reduces references to the argument array, allowing it to be garbage collected more promptly.

unsafeFreezeArray# :: MutableArray# d a -> State# d -> (#State# d, Array# a#) Source #

Make a mutable array immutable, without copying.

unsafeThawArray# :: Array# a -> State# d -> (#State# d, MutableArray# d a#) Source #

Make an immutable array mutable, without copying.

copyArray# :: Array# a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d Source #

Given a source array, an offset into the source array, a destination array, an offset into the destination array, and a number of elements to copy, copy the elements from the source array to the destination array. Both arrays must fully contain the specified ranges, but this is not checked. The two arrays must not be the same array in different states, but this is not checked either.

copyMutableArray# :: MutableArray# d a -> Int# -> MutableArray# d a -> Int# -> Int# -> State# d -> State# d Source #

Given a source array, an offset into the source array, a destination array, an offset into the destination array, and a number of elements to copy, copy the elements from the source array to the destination array. Both arrays must fully contain the specified ranges, but this is not checked. In the case where the source and destination are the same array the source and destination regions may overlap.

cloneArray# :: Array# a -> Int# -> Int# -> Array# a Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

cloneMutableArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, MutableArray# d a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

freezeArray# :: MutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, Array# a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

thawArray# :: Array# a -> Int# -> Int# -> State# d -> (#State# d, MutableArray# d a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

casArray# :: MutableArray# d a -> Int# -> a -> a -> State# d -> (#State# d, Int#, a#) Source #

Unsafe, machine-level atomic compare and swap on an element within an Array.

newSmallArray# :: Int# -> a -> State# d -> (#State# d, SmallMutableArray# d a#) Source #

Create a new mutable array with the specified number of elements, in the specified state thread, with each element containing the specified initial value.

sameSmallMutableArray# :: SmallMutableArray# d a -> SmallMutableArray# d a -> Int# Source #

readSmallArray# :: SmallMutableArray# d a -> Int# -> State# d -> (#State# d, a#) Source #

Read from specified index of mutable array. Result is not yet evaluated.

writeSmallArray# :: SmallMutableArray# d a -> Int# -> a -> State# d -> State# d Source #

Write to specified index of mutable array.

sizeofSmallArray# :: SmallArray# a -> Int# Source #

Return the number of elements in the array.

sizeofSmallMutableArray# :: SmallMutableArray# d a -> Int# Source #

Return the number of elements in the array.

indexSmallArray# :: SmallArray# a -> Int# -> (#a#) Source #

Read from specified index of immutable array. Result is packaged into an unboxed singleton; the result itself is not yet evaluated.

unsafeFreezeSmallArray# :: SmallMutableArray# d a -> State# d -> (#State# d, SmallArray# a#) Source #

Make a mutable array immutable, without copying.

unsafeThawSmallArray# :: SmallArray# a -> State# d -> (#State# d, SmallMutableArray# d a#) Source #

Make an immutable array mutable, without copying.

copySmallArray# :: SmallArray# a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d Source #

Given a source array, an offset into the source array, a destination array, an offset into the destination array, and a number of elements to copy, copy the elements from the source array to the destination array. Both arrays must fully contain the specified ranges, but this is not checked. The two arrays must not be the same array in different states, but this is not checked either.

copySmallMutableArray# :: SmallMutableArray# d a -> Int# -> SmallMutableArray# d a -> Int# -> Int# -> State# d -> State# d Source #

Given a source array, an offset into the source array, a destination array, an offset into the destination array, and a number of elements to copy, copy the elements from the source array to the destination array. The source and destination arrays can refer to the same array. Both arrays must fully contain the specified ranges, but this is not checked. The regions are allowed to overlap, although this is only possible when the same array is provided as both the source and the destination.

cloneSmallArray# :: SmallArray# a -> Int# -> Int# -> SmallArray# a Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

cloneSmallMutableArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, SmallMutableArray# d a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

freezeSmallArray# :: SmallMutableArray# d a -> Int# -> Int# -> State# d -> (#State# d, SmallArray# a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

thawSmallArray# :: SmallArray# a -> Int# -> Int# -> State# d -> (#State# d, SmallMutableArray# d a#) Source #

Given a source array, an offset into the source array, and a number of elements to copy, create a new array with the elements from the source array. The provided array must fully contain the specified range, but this is not checked.

casSmallArray# :: SmallMutableArray# d a -> Int# -> a -> a -> State# d -> (#State# d, Int#, a#) Source #

Unsafe, machine-level atomic compare and swap on an element within an array.

newByteArray# :: Int# -> State# d -> (#State# d, MutableByteArray# d#) Source #

Create a new mutable byte array of specified size (in bytes), in the specified state thread.

newPinnedByteArray# :: Int# -> State# d -> (#State# d, MutableByteArray# d#) Source #

Create a mutable byte array that the GC guarantees not to move.

newAlignedPinnedByteArray# :: Int# -> Int# -> State# d -> (#State# d, MutableByteArray# d#) Source #

Create a mutable byte array, aligned by the specified amount, that the GC guarantees not to move.

isMutableByteArrayPinned# :: MutableByteArray# d -> Int# Source #

Determine whether a `MutableByteArray#` is guaranteed not to move during GC.

isByteArrayPinned# :: ByteArray# -> Int# Source #

Determine whether a `ByteArray#` is guaranteed not to move during GC.

byteArrayContents# :: ByteArray# -> Addr# Source #

Intended for use with pinned arrays; otherwise very unsafe!

sameMutableByteArray# :: MutableByteArray# d -> MutableByteArray# d -> Int# Source #

shrinkMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> State# d Source #

Shrink mutable byte array to new specified size (in bytes), in the specified state thread. The new size argument must be less than or equal to the current size as reported by `sizeofMutableArray#`.

resizeMutableByteArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, MutableByteArray# d#) Source #

Resize (unpinned) mutable byte array to new specified size (in bytes). The returned `MutableByteArray#` is either the original `MutableByteArray#` resized in-place or, if not possible, a newly allocated (unpinned) `MutableByteArray#` (with the original content copied over).

To avoid undefined behaviour, the original `MutableByteArray#` shall not be accessed anymore after a `resizeMutableByteArray#` has been performed. Moreover, no reference to the old one should be kept in order to allow garbage collection of the original `MutableByteArray#` in case a new `MutableByteArray#` had to be allocated.

unsafeFreezeByteArray# :: MutableByteArray# d -> State# d -> (#State# d, ByteArray##) Source #

Make a mutable byte array immutable, without copying.

sizeofByteArray# :: ByteArray# -> Int# Source #

Return the size of the array in bytes.

sizeofMutableByteArray# :: MutableByteArray# d -> Int# Source #

Return the size of the array in bytes. Note that this is deprecated as it is unsafe in the presence of concurrent resize operations on the same byte array. See `getSizeofMutableByteArray`.

getSizeofMutableByteArray# :: MutableByteArray# d -> State# d -> (#State# d, Int##) Source #

Return the number of elements in the array.

indexCharArray# :: ByteArray# -> Int# -> Char# Source #

Read 8-bit character; offset in bytes.

indexWideCharArray# :: ByteArray# -> Int# -> Char# Source #

Read 31-bit character; offset in 4-byte words.

indexIntArray# :: ByteArray# -> Int# -> Int# Source #

indexWordArray# :: ByteArray# -> Int# -> Word# Source #

indexAddrArray# :: ByteArray# -> Int# -> Addr# Source #

indexFloatArray# :: ByteArray# -> Int# -> Float# Source #

indexDoubleArray# :: ByteArray# -> Int# -> Double# Source #

indexStablePtrArray# :: ByteArray# -> Int# -> StablePtr# a Source #

indexInt8Array# :: ByteArray# -> Int# -> Int# Source #

Read 8-bit integer; offset in bytes.

indexInt16Array# :: ByteArray# -> Int# -> Int# Source #

Read 16-bit integer; offset in 16-bit words.

indexInt32Array# :: ByteArray# -> Int# -> Int# Source #

Read 32-bit integer; offset in 32-bit words.

indexInt64Array# :: ByteArray# -> Int# -> Int# Source #

Read 64-bit integer; offset in 64-bit words.

indexWord8Array# :: ByteArray# -> Int# -> Word# Source #

Read 8-bit word; offset in bytes.

indexWord16Array# :: ByteArray# -> Int# -> Word# Source #

Read 16-bit word; offset in 16-bit words.

indexWord32Array# :: ByteArray# -> Int# -> Word# Source #

Read 32-bit word; offset in 32-bit words.

indexWord64Array# :: ByteArray# -> Int# -> Word# Source #

Read 64-bit word; offset in 64-bit words.

indexWord8ArrayAsChar# :: ByteArray# -> Int# -> Char# Source #

Read 8-bit character; offset in bytes.

indexWord8ArrayAsWideChar# :: ByteArray# -> Int# -> Char# Source #

Read 31-bit character; offset in bytes.

indexWord8ArrayAsAddr# :: ByteArray# -> Int# -> Addr# Source #

Read address; offset in bytes.

indexWord8ArrayAsFloat# :: ByteArray# -> Int# -> Float# Source #

Read float; offset in bytes.

indexWord8ArrayAsDouble# :: ByteArray# -> Int# -> Double# Source #

Read double; offset in bytes.

indexWord8ArrayAsStablePtr# :: ByteArray# -> Int# -> StablePtr# a Source #

Read stable pointer; offset in bytes.

indexWord8ArrayAsInt16# :: ByteArray# -> Int# -> Int# Source #

Read 16-bit int; offset in bytes.

indexWord8ArrayAsInt32# :: ByteArray# -> Int# -> Int# Source #

Read 32-bit int; offset in bytes.

indexWord8ArrayAsInt64# :: ByteArray# -> Int# -> Int# Source #

Read 64-bit int; offset in bytes.

indexWord8ArrayAsInt# :: ByteArray# -> Int# -> Int# Source #

Read int; offset in bytes.

indexWord8ArrayAsWord16# :: ByteArray# -> Int# -> Word# Source #

Read 16-bit word; offset in bytes.

indexWord8ArrayAsWord32# :: ByteArray# -> Int# -> Word# Source #

Read 32-bit word; offset in bytes.

indexWord8ArrayAsWord64# :: ByteArray# -> Int# -> Word# Source #

Read 64-bit word; offset in bytes.

indexWord8ArrayAsWord# :: ByteArray# -> Int# -> Word# Source #

Read word; offset in bytes.

readCharArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##) Source #

Read 8-bit character; offset in bytes.

readWideCharArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##) Source #

Read 31-bit character; offset in 4-byte words.

readIntArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

Read integer; offset in words.

readWordArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

Read word; offset in words.

readAddrArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Addr##) Source #

readFloatArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Float##) Source #

readDoubleArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Double##) Source #

readStablePtrArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, StablePtr# a#) Source #

readInt8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readInt16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readInt32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readInt64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##) Source #

readWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Char##) Source #

readWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Addr##) Source #

readWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Float##) Source #

readWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Double##) Source #

readWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, StablePtr# a#) Source #

readWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

readWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word##) Source #

writeCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Source #

Write 8-bit character; offset in bytes.

writeWideCharArray# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Source #

Write 31-bit character; offset in 4-byte words.

writeIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWordArray# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeAddrArray# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d Source #

writeFloatArray# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d Source #

writeDoubleArray# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d Source #

writeStablePtrArray# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d Source #

writeInt8Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeInt16Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeInt32Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeInt64Array# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWord8Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord16Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord32Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord64Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord8ArrayAsChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Source #

writeWord8ArrayAsWideChar# :: MutableByteArray# d -> Int# -> Char# -> State# d -> State# d Source #

writeWord8ArrayAsAddr# :: MutableByteArray# d -> Int# -> Addr# -> State# d -> State# d Source #

writeWord8ArrayAsFloat# :: MutableByteArray# d -> Int# -> Float# -> State# d -> State# d Source #

writeWord8ArrayAsDouble# :: MutableByteArray# d -> Int# -> Double# -> State# d -> State# d Source #

writeWord8ArrayAsStablePtr# :: MutableByteArray# d -> Int# -> StablePtr# a -> State# d -> State# d Source #

writeWord8ArrayAsInt16# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWord8ArrayAsInt32# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWord8ArrayAsInt64# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWord8ArrayAsInt# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

writeWord8ArrayAsWord16# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord8ArrayAsWord32# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord8ArrayAsWord64# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

writeWord8ArrayAsWord# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d Source #

compareByteArrays# :: ByteArray# -> Int# -> ByteArray# -> Int# -> Int# -> Int# Source #

`compareByteArrays# src1 src1_ofs src2 src2_ofs n` compares `n` bytes starting at offset `src1_ofs` in the first `ByteArray#` `src1` to the range of `n` bytes (i.e. same length) starting at offset `src2_ofs` of the second `ByteArray#` `src2`. Both arrays must fully contain the specified ranges, but this is not checked. Returns an `Int#` less than, equal to, or greater than zero if the range is found, respectively, to be byte-wise lexicographically less than, to match, or be greater than the second range.

copyByteArray# :: ByteArray# -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

`copyByteArray# src src_ofs dst dst_ofs n` copies the range starting at offset `src_ofs` of length `n` from the `ByteArray#` `src` to the `MutableByteArray#` `dst` starting at offset `dst_ofs`. Both arrays must fully contain the specified ranges, but this is not checked. The two arrays must not be the same array in different states, but this is not checked either.

copyMutableByteArray# :: MutableByteArray# d -> Int# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

Copy a range of the first MutableByteArray. Both arrays must fully contain the specified ranges, but this is not checked. The regions are allowed to overlap, although this is only possible when the same array is provided as both the source and the destination.

copyByteArrayToAddr# :: ByteArray# -> Int# -> Addr# -> Int# -> State# d -> State# d Source #

Copy a range of the ByteArray. The ByteArray must fully contain the specified ranges, but this is not checked. The Addr# must not point into the ByteArray were pinned), but this is not checked either.

copyMutableByteArrayToAddr# :: MutableByteArray# d -> Int# -> Addr# -> Int# -> State# d -> State# d Source #

Copy a range of the MutableByteArray# to the memory range starting at the Addr and the memory region at Addr# must fully contain the specified ranges, but this is not checked. The Addr# must not point into the MutableByteArray were pinned), but this is not checked either.

copyAddrToByteArray# :: Addr# -> MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

Copy a memory range starting at the Addr# to the specified range in the MutableByteArray and the ByteArray# must fully contain the specified ranges, but this is not checked. The Addr# must not point into the MutableByteArray were pinned), but this is not checked either.

setByteArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> State# d Source #

`setByteArray# ba off len c` sets the byte range `[off, off+len]` of the `MutableByteArray#` to the byte `c`.

atomicReadIntArray# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array and an offset in Int units, read an element. The index is assumed to be in bounds. Implies a full memory barrier.

atomicWriteIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> State# d Source #

Given an array and an offset in Int units, write an element. The index is assumed to be in bounds. Implies a full memory barrier.

casIntArray# :: MutableByteArray# d -> Int# -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, an offset in Int units, the expected old value, and the new value, perform an atomic compare and swap i.e. write the new value if the current value matches the provided old value. Returns the value of the element before the operation. Implies a full memory barrier.

fetchAddIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to add, atomically add the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

fetchSubIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to subtract, atomically substract the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

fetchAndIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to AND, atomically AND the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

fetchNandIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to NAND, atomically NAND the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

fetchOrIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to OR, atomically OR the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

fetchXorIntArray# :: MutableByteArray# d -> Int# -> Int# -> State# d -> (#State# d, Int##) Source #

Given an array, and offset in Int units, and a value to XOR, atomically XOR the value to the element. Returns the value of the element before the operation. Implies a full memory barrier.

newArrayArray# :: Int# -> State# d -> (#State# d, MutableArrayArray# d#) Source #

Create a new mutable array of arrays with the specified number of elements, in the specified state thread, with each element recursively referring to the newly created array.

sameMutableArrayArray# :: MutableArrayArray# d -> MutableArrayArray# d -> Int# Source #

unsafeFreezeArrayArray# :: MutableArrayArray# d -> State# d -> (#State# d, ArrayArray##) Source #

Make a mutable array of arrays immutable, without copying.

sizeofArrayArray# :: ArrayArray# -> Int# Source #

Return the number of elements in the array.

sizeofMutableArrayArray# :: MutableArrayArray# d -> Int# Source #

Return the number of elements in the array.

indexByteArrayArray# :: ArrayArray# -> Int# -> ByteArray# Source #

indexArrayArrayArray# :: ArrayArray# -> Int# -> ArrayArray# Source #

readByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, ByteArray##) Source #

readMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, MutableByteArray# d#) Source #

readArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, ArrayArray##) Source #

readMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> State# d -> (#State# d, MutableArrayArray# d#) Source #

writeByteArrayArray# :: MutableArrayArray# d -> Int# -> ByteArray# -> State# d -> State# d Source #

writeMutableByteArrayArray# :: MutableArrayArray# d -> Int# -> MutableByteArray# d -> State# d -> State# d Source #

writeArrayArrayArray# :: MutableArrayArray# d -> Int# -> ArrayArray# -> State# d -> State# d Source #

writeMutableArrayArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> State# d -> State# d Source #

copyArrayArray# :: ArrayArray# -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d Source #

Copy a range of the ArrayArray. Both arrays must fully contain the specified ranges, but this is not checked. The two arrays must not be the same array in different states, but this is not checked either.

copyMutableArrayArray# :: MutableArrayArray# d -> Int# -> MutableArrayArray# d -> Int# -> Int# -> State# d -> State# d Source #

Copy a range of the first MutableArrayArray# to the specified region in the second MutableArrayArray#. Both arrays must fully contain the specified ranges, but this is not checked. The regions are allowed to overlap, although this is only possible when the same array is provided as both the source and the destination.

plusAddr# :: Addr# -> Int# -> Addr# Source #

minusAddr# :: Addr# -> Addr# -> Int# Source #

Result is meaningless if two `Addr#`s are so far apart that their difference doesn't fit in an `Int#`.

remAddr# :: Addr# -> Int# -> Int# Source #

Return the remainder when the `Addr#` arg, treated like an `Int#`, is divided by the `Int#` arg.

addr2Int# :: Addr# -> Int# Source #

Coerce directly from address to int. Strongly deprecated.

int2Addr# :: Int# -> Addr# Source #

Coerce directly from int to address. Strongly deprecated.

gtAddr# :: Addr# -> Addr# -> Int# Source #

geAddr# :: Addr# -> Addr# -> Int# Source #

eqAddr# :: Addr# -> Addr# -> Int# Source #

neAddr# :: Addr# -> Addr# -> Int# Source #

ltAddr# :: Addr# -> Addr# -> Int# Source #

leAddr# :: Addr# -> Addr# -> Int# Source #

indexCharOffAddr# :: Addr# -> Int# -> Char# Source #

Reads 8-bit character; offset in bytes.

indexWideCharOffAddr# :: Addr# -> Int# -> Char# Source #

Reads 31-bit character; offset in 4-byte words.

indexIntOffAddr# :: Addr# -> Int# -> Int# Source #

indexWordOffAddr# :: Addr# -> Int# -> Word# Source #

indexAddrOffAddr# :: Addr# -> Int# -> Addr# Source #

indexFloatOffAddr# :: Addr# -> Int# -> Float# Source #

indexDoubleOffAddr# :: Addr# -> Int# -> Double# Source #

indexStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a Source #

indexInt8OffAddr# :: Addr# -> Int# -> Int# Source #

indexInt16OffAddr# :: Addr# -> Int# -> Int# Source #

indexInt32OffAddr# :: Addr# -> Int# -> Int# Source #

indexInt64OffAddr# :: Addr# -> Int# -> Int# Source #

indexWord8OffAddr# :: Addr# -> Int# -> Word# Source #

indexWord16OffAddr# :: Addr# -> Int# -> Word# Source #

indexWord32OffAddr# :: Addr# -> Int# -> Word# Source #

indexWord64OffAddr# :: Addr# -> Int# -> Word# Source #

readCharOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Char##) Source #

Reads 8-bit character; offset in bytes.

readWideCharOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Char##) Source #

Reads 31-bit character; offset in 4-byte words.

readIntOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##) Source #

readWordOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##) Source #

readAddrOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Addr##) Source #

readFloatOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Float##) Source #

readDoubleOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Double##) Source #

readStablePtrOffAddr# :: Addr# -> Int# -> State# d -> (#State# d, StablePtr# a#) Source #

readInt8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##) Source #

readInt16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##) Source #

readInt32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##) Source #

readInt64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int##) Source #

readWord8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##) Source #

readWord16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##) Source #

readWord32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##) Source #

readWord64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word##) Source #

writeCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d Source #

writeWideCharOffAddr# :: Addr# -> Int# -> Char# -> State# d -> State# d Source #

writeIntOffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Source #

writeWordOffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Source #

writeAddrOffAddr# :: Addr# -> Int# -> Addr# -> State# d -> State# d Source #

writeFloatOffAddr# :: Addr# -> Int# -> Float# -> State# d -> State# d Source #

writeDoubleOffAddr# :: Addr# -> Int# -> Double# -> State# d -> State# d Source #

writeStablePtrOffAddr# :: Addr# -> Int# -> StablePtr# a -> State# d -> State# d Source #

writeInt8OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Source #

writeInt16OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Source #

writeInt32OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Source #

writeInt64OffAddr# :: Addr# -> Int# -> Int# -> State# d -> State# d Source #

writeWord8OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Source #

writeWord16OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Source #

writeWord32OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Source #

writeWord64OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d Source #

newMutVar# :: a -> State# d -> (#State# d, MutVar# d a#) Source #

Create `MutVar#` with specified initial value in specified state thread.

readMutVar# :: MutVar# d a -> State# d -> (#State# d, a#) Source #

Read contents of `MutVar#`. Result is not yet evaluated.

writeMutVar# :: MutVar# d a -> a -> State# d -> State# d Source #

Write contents of `MutVar#`.

sameMutVar# :: MutVar# d a -> MutVar# d a -> Int# Source #

atomicModifyMutVar# :: MutVar# d a -> (a -> b) -> State# d -> (#State# d, c#) Source #

Modify the contents of a `MutVar#`. Note that this isn't strictly speaking the correct type for this function, it should really be `MutVar s -> ( s, b #)`, however we don't know about pairs here.

casMutVar# :: MutVar# d a -> a -> a -> State# d -> (#State# d, Int#, a#) Source #

catch# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (b -> State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

raise# :: b -> a Source #

raiseIO# :: a -> State# RealWorld -> (#State# RealWorld, b#) Source #

maskAsyncExceptions# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

maskUninterruptible# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

unmaskAsyncExceptions# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

getMaskingState# :: State# RealWorld -> (#State# RealWorld, Int##) Source #

atomically# :: (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

retry# :: State# RealWorld -> (#State# RealWorld, a#) Source #

catchRetry# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

catchSTM# :: (State# RealWorld -> (#State# RealWorld, a#)) -> (b -> State# RealWorld -> (#State# RealWorld, a#)) -> State# RealWorld -> (#State# RealWorld, a#) Source #

newTVar# :: a -> State# d -> (#State# d, TVar# d a#) Source #

Create a new `TVar#` holding a specified initial value.

readTVar# :: TVar# d a -> State# d -> (#State# d, a#) Source #

Read contents of `TVar#`. Result is not yet evaluated.

readTVarIO# :: TVar# d a -> State# d -> (#State# d, a#) Source #

Read contents of `TVar#` outside an STM transaction

writeTVar# :: TVar# d a -> a -> State# d -> State# d Source #

Write contents of `TVar#`.

sameTVar# :: TVar# d a -> TVar# d a -> Int# Source #

newMVar# :: State# d -> (#State# d, MVar# d a#) Source #

Create new `MVar#`; initially empty.

takeMVar# :: MVar# d a -> State# d -> (#State# d, a#) Source #

If `MVar#` is empty, block until it becomes full. Then remove and return its contents, and set it empty.

tryTakeMVar# :: MVar# d a -> State# d -> (#State# d, Int#, a#) Source #

If `MVar#` is empty, immediately return with integer 0 and value undefined. Otherwise, return with integer 1 and contents of `MVar#`, and set `MVar#` empty.

putMVar# :: MVar# d a -> a -> State# d -> State# d Source #

If `MVar#` is full, block until it becomes empty. Then store value arg as its new contents.

tryPutMVar# :: MVar# d a -> a -> State# d -> (#State# d, Int##) Source #

If `MVar#` is full, immediately return with integer 0. Otherwise, store value arg as `MVar#`'s new contents, and return with integer 1.

readMVar# :: MVar# d a -> State# d -> (#State# d, a#) Source #

If `MVar#` is empty, block until it becomes full. Then read its contents without modifying the MVar, without possibility of intervention from other threads.

tryReadMVar# :: MVar# d a -> State# d -> (#State# d, Int#, a#) Source #

If `MVar#` is empty, immediately return with integer 0 and value undefined. Otherwise, return with integer 1 and contents of `MVar#`.

sameMVar# :: MVar# d a -> MVar# d a -> Int# Source #

isEmptyMVar# :: MVar# d a -> State# d -> (#State# d, Int##) Source #

Return 1 if `MVar#` is empty; 0 otherwise.

delay# :: Int# -> State# d -> State# d Source #

Sleep specified number of microseconds.

waitRead# :: Int# -> State# d -> State# d Source #

Block until input is available on specified file descriptor.

waitWrite# :: Int# -> State# d -> State# d Source #

Block until output is possible on specified file descriptor.

fork# :: a -> State# RealWorld -> (#State# RealWorld, ThreadId##) Source #

forkOn# :: Int# -> a -> State# RealWorld -> (#State# RealWorld, ThreadId##) Source #

killThread# :: ThreadId# -> a -> State# RealWorld -> State# RealWorld Source #

yield# :: State# RealWorld -> State# RealWorld Source #

myThreadId# :: State# RealWorld -> (#State# RealWorld, ThreadId##) Source #

labelThread# :: ThreadId# -> Addr# -> State# RealWorld -> State# RealWorld Source #

isCurrentThreadBound# :: State# RealWorld -> (#State# RealWorld, Int##) Source #

noDuplicate# :: State# d -> State# d Source #

threadStatus# :: ThreadId# -> State# RealWorld -> (#State# RealWorld, Int#, Int#, Int##) Source #

mkWeak# :: a -> b -> (State# RealWorld -> (#State# RealWorld, c#)) -> State# RealWorld -> (#State# RealWorld, Weak# b#) Source #

`mkWeak# k v finalizer s` creates a weak reference to value `k`, with an associated reference to some value `v`. If `k` is still alive then `v` can be retrieved using `deRefWeak#`. Note that the type of `k` must be represented by a pointer (i.e. of kind `TYPE 'LiftedRep` or `TYPE 'UnliftedRep`).

mkWeakNoFinalizer# :: a -> b -> State# RealWorld -> (#State# RealWorld, Weak# b#) Source #

addCFinalizerToWeak# :: Addr# -> Addr# -> Int# -> Addr# -> Weak# b -> State# RealWorld -> (#State# RealWorld, Int##) Source #

`addCFinalizerToWeak# fptr ptr flag eptr w` attaches a C function pointer `fptr` to a weak pointer `w` as a finalizer. If `flag` is zero, `fptr` will be called with one argument, `ptr`. Otherwise, it will be called with two arguments, `eptr` and `ptr`. `addCFinalizerToWeak#` returns 1 on success, or 0 if `w` is already dead.

deRefWeak# :: Weak# a -> State# RealWorld -> (#State# RealWorld, Int#, a#) Source #

finalizeWeak# :: Weak# a -> State# RealWorld -> (#State# RealWorld, Int#, State# RealWorld -> (#State# RealWorld, b#)#) Source #

Finalize a weak pointer. The return value is an unboxed tuple containing the new state of the world and an "unboxed Maybe", represented by an `Int#` and a (possibly invalid) finalization action. An `Int#` of `1` indicates that the finalizer is valid. The return value `b` from the finalizer should be ignored.

touch# :: a -> State# RealWorld -> State# RealWorld Source #

makeStablePtr# :: a -> State# RealWorld -> (#State# RealWorld, StablePtr# a#) Source #

deRefStablePtr# :: StablePtr# a -> State# RealWorld -> (#State# RealWorld, a#) Source #

eqStablePtr# :: StablePtr# a -> StablePtr# a -> Int# Source #

makeStableName# :: a -> State# RealWorld -> (#State# RealWorld, StableName# a#) Source #

eqStableName# :: StableName# a -> StableName# b -> Int# Source #

stableNameToInt# :: StableName# a -> Int# Source #

compactNew# :: Word# -> State# RealWorld -> (#State# RealWorld, Compact##) Source #

Create a new Compact with the given size (in bytes, not words). The size is rounded up to a multiple of the allocator block size, and capped to one mega block.

compactResize# :: Compact# -> Word# -> State# RealWorld -> State# RealWorld Source #

Set the new allocation size of the compact. This value (in bytes) determines the size of each block in the compact chain.

compactContains# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, Int##) Source #

Returns 1 otherwise.

compactContainsAny# :: a -> State# RealWorld -> (#State# RealWorld, Int##) Source #

Returns 1 otherwise.

compactGetFirstBlock# :: Compact# -> State# RealWorld -> (#State# RealWorld, Addr#, Word##) Source #

Returns the address and the size (in bytes) of the first block of a compact.

compactGetNextBlock# :: Compact# -> Addr# -> State# RealWorld -> (#State# RealWorld, Addr#, Word##) Source #

Given a compact and the address of one its blocks, returns the next block and its size, or #nullAddr if the argument was the last block in the compact.

compactAllocateBlock# :: Word# -> Addr# -> State# RealWorld -> (#State# RealWorld, Addr##) Source #

Attempt to allocate a compact block with the given size (in bytes) at the given address. The first argument is a hint to the allocator, allocation might be satisfied at a different address (which is returned). The resulting block is not known to the GC until compactFixupPointers# is called on it, and care must be taken so that the address does not escape or memory will be leaked.

compactFixupPointers# :: Addr# -> Addr# -> State# RealWorld -> (#State# RealWorld, Compact#, Addr##) Source #

Given the pointer to the first block of a compact, and the address of the root object in the old address space, fix up the internal pointers inside the compact to account for a different position in memory than when it was serialized. This method must be called exactly once after importing a serialized compact, and returns the new compact and the new adjusted root address.

compactAdd# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, a#) Source #

Recursively add a closure and its transitive closure to a {texttt Compact#}, evaluating any unevaluated components at the same time. Note: {texttt compactAdd#} is not thread-safe, so only one thread may call {texttt compactAdd#} with a particular {texttt Compact#} at any given time. The primop does not enforce any mutual exclusion; the caller is expected to arrange this.

compactAddWithSharing# :: Compact# -> a -> State# RealWorld -> (#State# RealWorld, a#) Source #

Like {texttt compactAdd#}, but retains sharing and cycles during compaction.

compactSize# :: Compact# -> State# RealWorld -> (#State# RealWorld, Word##) Source #

Return the size (in bytes) of the total amount of data in the Compact#

reallyUnsafePtrEquality# :: a -> a -> Int# Source #

Returns {texttt 1#} if the given pointers are equal and {texttt 0#} otherwise.

par# :: a -> Int# Source #

spark# :: a -> State# d -> (#State# d, a#) Source #

seq# :: a -> State# d -> (#State# d, a#) Source #

getSpark# :: State# d -> (#State# d, Int#, a#) Source #

numSparks# :: State# d -> (#State# d, Int##) Source #

Returns the number of sparks in the local spark pool.

dataToTag# :: a -> Int# Source #

tagToEnum# :: Int# -> a Source #

addrToAny# :: Addr# -> (#a#) Source #

Convert an `Addr#` to a followable Any type.

anyToAddr# :: a -> State# RealWorld -> (#State# RealWorld, Addr##) Source #

Retrieve the address of any Haskell value. This is essentially an {texttt unsafeCoerce#}, but if implemented as such the core lint pass complains and fails to compile. As a primop, it is opaque to core/stg, and only appears in cmm (where the copy propagation pass will get rid of it). Note that "a" must be a value, not a thunk! It's too late for strictness analysis to enforce this, so you're on your own to guarantee this. Also note that {texttt Addr#} is not a GC pointer - up to you to guarantee that it does not become a dangling pointer immediately after you get it.

mkApUpd0# :: BCO# -> (#a#) Source #

Wrap a BCO in a `AP_UPD` thunk which will be updated with the value of the BCO when evaluated.

newBCO# :: ByteArray# -> ByteArray# -> Array# a -> Int# -> ByteArray# -> State# d -> (#State# d, BCO##) Source #

`newBCO# instrs lits ptrs arity bitmap` creates a new bytecode object. The resulting object encodes a function of the given arity with the instructions encoded in `instrs`, and a static reference table usage bitmap given by `bitmap`.

unpackClosure# :: a -> (#Addr#, ByteArray#, Array# b#) Source #

`unpackClosure# closure` copies the closure and pointers in the payload of the given closure into two new arrays, and returns a pointer to the first word of the closure's info table, a non-pointer array for the raw bytes of the closure, and a pointer array for the pointers in the payload.

getApStackVal# :: a -> Int# -> (#Int#, b#) Source #

getCCSOf# :: a -> State# d -> (#State# d, Addr##) Source #

getCurrentCCS# :: a -> State# d -> (#State# d, Addr##) Source #

Returns the current `CostCentreStack` (value is `NULL` if not profiling). Takes a dummy argument which can be used to avoid the call to `getCurrentCCS#` being floated out by the simplifier, which would result in an uninformative stack ("CAF").

clearCCS# :: (State# d -> (#State# d, a#)) -> State# d -> (#State# d, a#) Source #

Run the supplied IO action with an empty CCS. For example, this is used by the interpreter to run an interpreted computation without the call stack showing that it was invoked from GHC.

traceEvent# :: Addr# -> State# d -> State# d Source #

Emits an event via the RTS tracing framework. The contents of the event is the zero-terminated byte string passed as the first argument. The event will be emitted either to the .eventlog file, or to stderr, depending on the runtime RTS flags.

traceMarker# :: Addr# -> State# d -> State# d Source #

Emits a marker event via the RTS tracing framework. The contents of the event is the zero-terminated byte string passed as the first argument. The event will be emitted either to the .eventlog file, or to stderr, depending on the runtime RTS flags.

getThreadAllocationCounter# :: State# RealWorld -> (#State# RealWorld, Int##) Source #

Retrieves the allocation counter for the current thread.

setThreadAllocationCounter# :: Int# -> State# RealWorld -> State# RealWorld Source #

Sets the allocation counter for the current thread to the given value.

broadcastInt8X16# :: Int# -> Int8X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt16X8# :: Int# -> Int16X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt32X4# :: Int# -> Int32X4# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt64X2# :: Int# -> Int64X2# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt8X32# :: Int# -> Int8X32# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt16X16# :: Int# -> Int16X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt32X8# :: Int# -> Int32X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt64X4# :: Int# -> Int64X4# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt8X64# :: Int# -> Int8X64# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt16X32# :: Int# -> Int16X32# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt32X16# :: Int# -> Int32X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastInt64X8# :: Int# -> Int64X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord8X16# :: Word# -> Word8X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord16X8# :: Word# -> Word16X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord32X4# :: Word# -> Word32X4# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord64X2# :: Word# -> Word64X2# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord8X32# :: Word# -> Word8X32# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord16X16# :: Word# -> Word16X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord32X8# :: Word# -> Word32X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord64X4# :: Word# -> Word64X4# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord8X64# :: Word# -> Word8X64# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord16X32# :: Word# -> Word16X32# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord32X16# :: Word# -> Word32X16# Source #

Broadcast a scalar to all elements of a vector.

broadcastWord64X8# :: Word# -> Word64X8# Source #

Broadcast a scalar to all elements of a vector.

broadcastFloatX4# :: Float# -> FloatX4# Source #

Broadcast a scalar to all elements of a vector.

broadcastDoubleX2# :: Double# -> DoubleX2# Source #

Broadcast a scalar to all elements of a vector.

broadcastFloatX8# :: Float# -> FloatX8# Source #

Broadcast a scalar to all elements of a vector.

broadcastDoubleX4# :: Double# -> DoubleX4# Source #

Broadcast a scalar to all elements of a vector.

broadcastFloatX16# :: Float# -> FloatX16# Source #

Broadcast a scalar to all elements of a vector.

broadcastDoubleX8# :: Double# -> DoubleX8# Source #

Broadcast a scalar to all elements of a vector.

packInt8X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X16# Source #

Pack the elements of an unboxed tuple into a vector.

packInt16X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X8# Source #

Pack the elements of an unboxed tuple into a vector.

packInt32X4# :: (#Int#, Int#, Int#, Int##) -> Int32X4# Source #

Pack the elements of an unboxed tuple into a vector.

packInt64X2# :: (#Int#, Int##) -> Int64X2# Source #

Pack the elements of an unboxed tuple into a vector.

packInt8X32# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X32# Source #

Pack the elements of an unboxed tuple into a vector.

packInt16X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X16# Source #

Pack the elements of an unboxed tuple into a vector.

packInt32X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int32X8# Source #

Pack the elements of an unboxed tuple into a vector.

packInt64X4# :: (#Int#, Int#, Int#, Int##) -> Int64X4# Source #

Pack the elements of an unboxed tuple into a vector.

packInt8X64# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int8X64# Source #

Pack the elements of an unboxed tuple into a vector.

packInt16X32# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int16X32# Source #

Pack the elements of an unboxed tuple into a vector.

packInt32X16# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int32X16# Source #

Pack the elements of an unboxed tuple into a vector.

packInt64X8# :: (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) -> Int64X8# Source #

Pack the elements of an unboxed tuple into a vector.

packWord8X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X16# Source #

Pack the elements of an unboxed tuple into a vector.

packWord16X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X8# Source #

Pack the elements of an unboxed tuple into a vector.

packWord32X4# :: (#Word#, Word#, Word#, Word##) -> Word32X4# Source #

Pack the elements of an unboxed tuple into a vector.

packWord64X2# :: (#Word#, Word##) -> Word64X2# Source #

Pack the elements of an unboxed tuple into a vector.

packWord8X32# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X32# Source #

Pack the elements of an unboxed tuple into a vector.

packWord16X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X16# Source #

Pack the elements of an unboxed tuple into a vector.

packWord32X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word32X8# Source #

Pack the elements of an unboxed tuple into a vector.

packWord64X4# :: (#Word#, Word#, Word#, Word##) -> Word64X4# Source #

Pack the elements of an unboxed tuple into a vector.

packWord8X64# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word8X64# Source #

Pack the elements of an unboxed tuple into a vector.

packWord16X32# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word16X32# Source #

Pack the elements of an unboxed tuple into a vector.

packWord32X16# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word32X16# Source #

Pack the elements of an unboxed tuple into a vector.

packWord64X8# :: (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) -> Word64X8# Source #

Pack the elements of an unboxed tuple into a vector.

packFloatX4# :: (#Float#, Float#, Float#, Float##) -> FloatX4# Source #

Pack the elements of an unboxed tuple into a vector.

packDoubleX2# :: (#Double#, Double##) -> DoubleX2# Source #

Pack the elements of an unboxed tuple into a vector.

packFloatX8# :: (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) -> FloatX8# Source #

Pack the elements of an unboxed tuple into a vector.

packDoubleX4# :: (#Double#, Double#, Double#, Double##) -> DoubleX4# Source #

Pack the elements of an unboxed tuple into a vector.

packFloatX16# :: (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) -> FloatX16# Source #

Pack the elements of an unboxed tuple into a vector.

packDoubleX8# :: (#Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double##) -> DoubleX8# Source #

Pack the elements of an unboxed tuple into a vector.

unpackInt8X16# :: Int8X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt16X8# :: Int16X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt32X4# :: Int32X4# -> (#Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt64X2# :: Int64X2# -> (#Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt8X32# :: Int8X32# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt16X16# :: Int16X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt32X8# :: Int32X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt64X4# :: Int64X4# -> (#Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt8X64# :: Int8X64# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt16X32# :: Int16X32# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt32X16# :: Int32X16# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackInt64X8# :: Int64X8# -> (#Int#, Int#, Int#, Int#, Int#, Int#, Int#, Int##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord8X16# :: Word8X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord16X8# :: Word16X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord32X4# :: Word32X4# -> (#Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord64X2# :: Word64X2# -> (#Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord8X32# :: Word8X32# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord16X16# :: Word16X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord32X8# :: Word32X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord64X4# :: Word64X4# -> (#Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord8X64# :: Word8X64# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord16X32# :: Word16X32# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord32X16# :: Word32X16# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackWord64X8# :: Word64X8# -> (#Word#, Word#, Word#, Word#, Word#, Word#, Word#, Word##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackFloatX4# :: FloatX4# -> (#Float#, Float#, Float#, Float##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackDoubleX2# :: DoubleX2# -> (#Double#, Double##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackFloatX8# :: FloatX8# -> (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackDoubleX4# :: DoubleX4# -> (#Double#, Double#, Double#, Double##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackFloatX16# :: FloatX16# -> (#Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float#, Float##) Source #

Unpack the elements of a vector into an unboxed tuple. #

unpackDoubleX8# :: DoubleX8# -> (#Double#, Double#, Double#, Double#, Double#, Double#, Double#, Double##) Source #

Unpack the elements of a vector into an unboxed tuple. #

insertInt8X16# :: Int8X16# -> Int# -> Int# -> Int8X16# Source #

Insert a scalar at the given position in a vector.

insertInt16X8# :: Int16X8# -> Int# -> Int# -> Int16X8# Source #

Insert a scalar at the given position in a vector.

insertInt32X4# :: Int32X4# -> Int# -> Int# -> Int32X4# Source #

Insert a scalar at the given position in a vector.

insertInt64X2# :: Int64X2# -> Int# -> Int# -> Int64X2# Source #

Insert a scalar at the given position in a vector.

insertInt8X32# :: Int8X32# -> Int# -> Int# -> Int8X32# Source #

Insert a scalar at the given position in a vector.

insertInt16X16# :: Int16X16# -> Int# -> Int# -> Int16X16# Source #

Insert a scalar at the given position in a vector.

insertInt32X8# :: Int32X8# -> Int# -> Int# -> Int32X8# Source #

Insert a scalar at the given position in a vector.

insertInt64X4# :: Int64X4# -> Int# -> Int# -> Int64X4# Source #

Insert a scalar at the given position in a vector.

insertInt8X64# :: Int8X64# -> Int# -> Int# -> Int8X64# Source #

Insert a scalar at the given position in a vector.

insertInt16X32# :: Int16X32# -> Int# -> Int# -> Int16X32# Source #

Insert a scalar at the given position in a vector.

insertInt32X16# :: Int32X16# -> Int# -> Int# -> Int32X16# Source #

Insert a scalar at the given position in a vector.

insertInt64X8# :: Int64X8# -> Int# -> Int# -> Int64X8# Source #

Insert a scalar at the given position in a vector.

insertWord8X16# :: Word8X16# -> Word# -> Int# -> Word8X16# Source #

Insert a scalar at the given position in a vector.

insertWord16X8# :: Word16X8# -> Word# -> Int# -> Word16X8# Source #

Insert a scalar at the given position in a vector.

insertWord32X4# :: Word32X4# -> Word# -> Int# -> Word32X4# Source #

Insert a scalar at the given position in a vector.

insertWord64X2# :: Word64X2# -> Word# -> Int# -> Word64X2# Source #

Insert a scalar at the given position in a vector.

insertWord8X32# :: Word8X32# -> Word# -> Int# -> Word8X32# Source #

Insert a scalar at the given position in a vector.

insertWord16X16# :: Word16X16# -> Word# -> Int# -> Word16X16# Source #

Insert a scalar at the given position in a vector.

insertWord32X8# :: Word32X8# -> Word# -> Int# -> Word32X8# Source #

Insert a scalar at the given position in a vector.

insertWord64X4# :: Word64X4# -> Word# -> Int# -> Word64X4# Source #

Insert a scalar at the given position in a vector.

insertWord8X64# :: Word8X64# -> Word# -> Int# -> Word8X64# Source #

Insert a scalar at the given position in a vector.

insertWord16X32# :: Word16X32# -> Word# -> Int# -> Word16X32# Source #

Insert a scalar at the given position in a vector.

insertWord32X16# :: Word32X16# -> Word# -> Int# -> Word32X16# Source #

Insert a scalar at the given position in a vector.

insertWord64X8# :: Word64X8# -> Word# -> Int# -> Word64X8# Source #

Insert a scalar at the given position in a vector.

insertFloatX4# :: FloatX4# -> Float# -> Int# -> FloatX4# Source #

Insert a scalar at the given position in a vector.

insertDoubleX2# :: DoubleX2# -> Double# -> Int# -> DoubleX2# Source #

Insert a scalar at the given position in a vector.

insertFloatX8# :: FloatX8# -> Float# -> Int# -> FloatX8# Source #

Insert a scalar at the given position in a vector.

insertDoubleX4# :: DoubleX4# -> Double# -> Int# -> DoubleX4# Source #

Insert a scalar at the given position in a vector.

insertFloatX16# :: FloatX16# -> Float# -> Int# -> FloatX16# Source #

Insert a scalar at the given position in a vector.

insertDoubleX8# :: DoubleX8# -> Double# -> Int# -> DoubleX8# Source #

Insert a scalar at the given position in a vector.

plusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Source #

Add two vectors element-wise.

plusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Source #

Add two vectors element-wise.

plusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Source #

Add two vectors element-wise.

plusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Source #

Add two vectors element-wise.

plusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Source #

Add two vectors element-wise.

plusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Source #

Add two vectors element-wise.

plusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Source #

Add two vectors element-wise.

plusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Source #

Add two vectors element-wise.

plusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Source #

Add two vectors element-wise.

plusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Source #

Add two vectors element-wise.

plusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Source #

Add two vectors element-wise.

plusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Source #

Add two vectors element-wise.

plusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Source #

Add two vectors element-wise.

plusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Source #

Add two vectors element-wise.

plusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Source #

Add two vectors element-wise.

plusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Source #

Add two vectors element-wise.

plusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Source #

Add two vectors element-wise.

plusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Source #

Add two vectors element-wise.

plusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Source #

Add two vectors element-wise.

plusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Source #

Add two vectors element-wise.

plusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Source #

Add two vectors element-wise.

plusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Source #

Add two vectors element-wise.

plusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Source #

Add two vectors element-wise.

plusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Source #

Add two vectors element-wise.

plusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Source #

Add two vectors element-wise.

plusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Source #

Add two vectors element-wise.

plusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Source #

Add two vectors element-wise.

plusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Source #

Add two vectors element-wise.

plusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Source #

Add two vectors element-wise.

plusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Source #

Add two vectors element-wise.

minusInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Source #

Subtract two vectors element-wise.

minusInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Source #

Subtract two vectors element-wise.

minusInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Source #

Subtract two vectors element-wise.

minusInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Source #

Subtract two vectors element-wise.

minusInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Source #

Subtract two vectors element-wise.

minusInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Source #

Subtract two vectors element-wise.

minusInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Source #

Subtract two vectors element-wise.

minusInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Source #

Subtract two vectors element-wise.

minusInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Source #

Subtract two vectors element-wise.

minusInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Source #

Subtract two vectors element-wise.

minusInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Source #

Subtract two vectors element-wise.

minusInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Source #

Subtract two vectors element-wise.

minusWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Source #

Subtract two vectors element-wise.

minusWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Source #

Subtract two vectors element-wise.

minusWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Source #

Subtract two vectors element-wise.

minusWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Source #

Subtract two vectors element-wise.

minusWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Source #

Subtract two vectors element-wise.

minusWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Source #

Subtract two vectors element-wise.

minusWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Source #

Subtract two vectors element-wise.

minusWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Source #

Subtract two vectors element-wise.

minusWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Source #

Subtract two vectors element-wise.

minusWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Source #

Subtract two vectors element-wise.

minusWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Source #

Subtract two vectors element-wise.

minusWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Source #

Subtract two vectors element-wise.

minusFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Source #

Subtract two vectors element-wise.

minusDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Source #

Subtract two vectors element-wise.

minusFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Source #

Subtract two vectors element-wise.

minusDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Source #

Subtract two vectors element-wise.

minusFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Source #

Subtract two vectors element-wise.

minusDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Source #

Subtract two vectors element-wise.

timesInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Source #

Multiply two vectors element-wise.

timesInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Source #

Multiply two vectors element-wise.

timesInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Source #

Multiply two vectors element-wise.

timesInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Source #

Multiply two vectors element-wise.

timesInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Source #

Multiply two vectors element-wise.

timesInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Source #

Multiply two vectors element-wise.

timesInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Source #

Multiply two vectors element-wise.

timesInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Source #

Multiply two vectors element-wise.

timesInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Source #

Multiply two vectors element-wise.

timesInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Source #

Multiply two vectors element-wise.

timesInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Source #

Multiply two vectors element-wise.

timesInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Source #

Multiply two vectors element-wise.

timesWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Source #

Multiply two vectors element-wise.

timesWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Source #

Multiply two vectors element-wise.

timesWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Source #

Multiply two vectors element-wise.

timesWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Source #

Multiply two vectors element-wise.

timesWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Source #

Multiply two vectors element-wise.

timesWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Source #

Multiply two vectors element-wise.

timesWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Source #

Multiply two vectors element-wise.

timesWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Source #

Multiply two vectors element-wise.

timesWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Source #

Multiply two vectors element-wise.

timesWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Source #

Multiply two vectors element-wise.

timesWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Source #

Multiply two vectors element-wise.

timesWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Source #

Multiply two vectors element-wise.

timesFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Source #

Multiply two vectors element-wise.

timesDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Source #

Multiply two vectors element-wise.

timesFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Source #

Multiply two vectors element-wise.

timesDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Source #

Multiply two vectors element-wise.

timesFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Source #

Multiply two vectors element-wise.

timesDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Source #

Multiply two vectors element-wise.

divideFloatX4# :: FloatX4# -> FloatX4# -> FloatX4# Source #

Divide two vectors element-wise.

divideDoubleX2# :: DoubleX2# -> DoubleX2# -> DoubleX2# Source #

Divide two vectors element-wise.

divideFloatX8# :: FloatX8# -> FloatX8# -> FloatX8# Source #

Divide two vectors element-wise.

divideDoubleX4# :: DoubleX4# -> DoubleX4# -> DoubleX4# Source #

Divide two vectors element-wise.

divideFloatX16# :: FloatX16# -> FloatX16# -> FloatX16# Source #

Divide two vectors element-wise.

divideDoubleX8# :: DoubleX8# -> DoubleX8# -> DoubleX8# Source #

Divide two vectors element-wise.

quotInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Source #

Rounds towards zero element-wise.

quotInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Source #

Rounds towards zero element-wise.

quotInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Source #

Rounds towards zero element-wise.

quotInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Source #

Rounds towards zero element-wise.

quotInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Source #

Rounds towards zero element-wise.

quotInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Source #

Rounds towards zero element-wise.

quotInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Source #

Rounds towards zero element-wise.

quotInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Source #

Rounds towards zero element-wise.

quotInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Source #

Rounds towards zero element-wise.

quotInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Source #

Rounds towards zero element-wise.

quotInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Source #

Rounds towards zero element-wise.

quotInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Source #

Rounds towards zero element-wise.

quotWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Source #

Rounds towards zero element-wise.

quotWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Source #

Rounds towards zero element-wise.

quotWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Source #

Rounds towards zero element-wise.

quotWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Source #

Rounds towards zero element-wise.

quotWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Source #

Rounds towards zero element-wise.

quotWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Source #

Rounds towards zero element-wise.

quotWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Source #

Rounds towards zero element-wise.

quotWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Source #

Rounds towards zero element-wise.

quotWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Source #

Rounds towards zero element-wise.

quotWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Source #

Rounds towards zero element-wise.

quotWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Source #

Rounds towards zero element-wise.

quotWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Source #

Rounds towards zero element-wise.

remInt8X16# :: Int8X16# -> Int8X16# -> Int8X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt16X8# :: Int16X8# -> Int16X8# -> Int16X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt32X4# :: Int32X4# -> Int32X4# -> Int32X4# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt64X2# :: Int64X2# -> Int64X2# -> Int64X2# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt8X32# :: Int8X32# -> Int8X32# -> Int8X32# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt16X16# :: Int16X16# -> Int16X16# -> Int16X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt32X8# :: Int32X8# -> Int32X8# -> Int32X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt64X4# :: Int64X4# -> Int64X4# -> Int64X4# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt8X64# :: Int8X64# -> Int8X64# -> Int8X64# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt16X32# :: Int16X32# -> Int16X32# -> Int16X32# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt32X16# :: Int32X16# -> Int32X16# -> Int32X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remInt64X8# :: Int64X8# -> Int64X8# -> Int64X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord8X16# :: Word8X16# -> Word8X16# -> Word8X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord16X8# :: Word16X8# -> Word16X8# -> Word16X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord32X4# :: Word32X4# -> Word32X4# -> Word32X4# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord64X2# :: Word64X2# -> Word64X2# -> Word64X2# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord8X32# :: Word8X32# -> Word8X32# -> Word8X32# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord16X16# :: Word16X16# -> Word16X16# -> Word16X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord32X8# :: Word32X8# -> Word32X8# -> Word32X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord64X4# :: Word64X4# -> Word64X4# -> Word64X4# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord8X64# :: Word8X64# -> Word8X64# -> Word8X64# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord16X32# :: Word16X32# -> Word16X32# -> Word16X32# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord32X16# :: Word32X16# -> Word32X16# -> Word32X16# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

remWord64X8# :: Word64X8# -> Word64X8# -> Word64X8# Source #

Satisfies `(quot# x y) times# y plus# (rem# x y) == x`.

negateInt8X16# :: Int8X16# -> Int8X16# Source #

Negate element-wise.

negateInt16X8# :: Int16X8# -> Int16X8# Source #

Negate element-wise.

negateInt32X4# :: Int32X4# -> Int32X4# Source #

Negate element-wise.

negateInt64X2# :: Int64X2# -> Int64X2# Source #

Negate element-wise.

negateInt8X32# :: Int8X32# -> Int8X32# Source #

Negate element-wise.

negateInt16X16# :: Int16X16# -> Int16X16# Source #

Negate element-wise.

negateInt32X8# :: Int32X8# -> Int32X8# Source #

Negate element-wise.

negateInt64X4# :: Int64X4# -> Int64X4# Source #

Negate element-wise.

negateInt8X64# :: Int8X64# -> Int8X64# Source #

Negate element-wise.

negateInt16X32# :: Int16X32# -> Int16X32# Source #

Negate element-wise.

negateInt32X16# :: Int32X16# -> Int32X16# Source #

Negate element-wise.

negateInt64X8# :: Int64X8# -> Int64X8# Source #

Negate element-wise.

negateFloatX4# :: FloatX4# -> FloatX4# Source #

Negate element-wise.

negateDoubleX2# :: DoubleX2# -> DoubleX2# Source #

Negate element-wise.

negateFloatX8# :: FloatX8# -> FloatX8# Source #

Negate element-wise.

negateDoubleX4# :: DoubleX4# -> DoubleX4# Source #

Negate element-wise.

negateFloatX16# :: FloatX16# -> FloatX16# Source #

Negate element-wise.

negateDoubleX8# :: DoubleX8# -> DoubleX8# Source #

Negate element-wise.

indexInt8X16Array# :: ByteArray# -> Int# -> Int8X16# Source #

Read a vector from specified index of immutable array.

indexInt16X8Array# :: ByteArray# -> Int# -> Int16X8# Source #

Read a vector from specified index of immutable array.

indexInt32X4Array# :: ByteArray# -> Int# -> Int32X4# Source #

Read a vector from specified index of immutable array.

indexInt64X2Array# :: ByteArray# -> Int# -> Int64X2# Source #

Read a vector from specified index of immutable array.

indexInt8X32Array# :: ByteArray# -> Int# -> Int8X32# Source #

Read a vector from specified index of immutable array.

indexInt16X16Array# :: ByteArray# -> Int# -> Int16X16# Source #

Read a vector from specified index of immutable array.

indexInt32X8Array# :: ByteArray# -> Int# -> Int32X8# Source #

Read a vector from specified index of immutable array.

indexInt64X4Array# :: ByteArray# -> Int# -> Int64X4# Source #

Read a vector from specified index of immutable array.

indexInt8X64Array# :: ByteArray# -> Int# -> Int8X64# Source #

Read a vector from specified index of immutable array.

indexInt16X32Array# :: ByteArray# -> Int# -> Int16X32# Source #

Read a vector from specified index of immutable array.

indexInt32X16Array# :: ByteArray# -> Int# -> Int32X16# Source #

Read a vector from specified index of immutable array.

indexInt64X8Array# :: ByteArray# -> Int# -> Int64X8# Source #

Read a vector from specified index of immutable array.

indexWord8X16Array# :: ByteArray# -> Int# -> Word8X16# Source #

Read a vector from specified index of immutable array.

indexWord16X8Array# :: ByteArray# -> Int# -> Word16X8# Source #

Read a vector from specified index of immutable array.

indexWord32X4Array# :: ByteArray# -> Int# -> Word32X4# Source #

Read a vector from specified index of immutable array.

indexWord64X2Array# :: ByteArray# -> Int# -> Word64X2# Source #

Read a vector from specified index of immutable array.

indexWord8X32Array# :: ByteArray# -> Int# -> Word8X32# Source #

Read a vector from specified index of immutable array.

indexWord16X16Array# :: ByteArray# -> Int# -> Word16X16# Source #

Read a vector from specified index of immutable array.

indexWord32X8Array# :: ByteArray# -> Int# -> Word32X8# Source #

Read a vector from specified index of immutable array.

indexWord64X4Array# :: ByteArray# -> Int# -> Word64X4# Source #

Read a vector from specified index of immutable array.

indexWord8X64Array# :: ByteArray# -> Int# -> Word8X64# Source #

Read a vector from specified index of immutable array.

indexWord16X32Array# :: ByteArray# -> Int# -> Word16X32# Source #

Read a vector from specified index of immutable array.

indexWord32X16Array# :: ByteArray# -> Int# -> Word32X16# Source #

Read a vector from specified index of immutable array.

indexWord64X8Array# :: ByteArray# -> Int# -> Word64X8# Source #

Read a vector from specified index of immutable array.

indexFloatX4Array# :: ByteArray# -> Int# -> FloatX4# Source #

Read a vector from specified index of immutable array.

indexDoubleX2Array# :: ByteArray# -> Int# -> DoubleX2# Source #

Read a vector from specified index of immutable array.

indexFloatX8Array# :: ByteArray# -> Int# -> FloatX8# Source #

Read a vector from specified index of immutable array.

indexDoubleX4Array# :: ByteArray# -> Int# -> DoubleX4# Source #

Read a vector from specified index of immutable array.

indexFloatX16Array# :: ByteArray# -> Int# -> FloatX16# Source #

Read a vector from specified index of immutable array.

indexDoubleX8Array# :: ByteArray# -> Int# -> DoubleX8# Source #

Read a vector from specified index of immutable array.

readInt8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X16##) Source #

Read a vector from specified index of mutable array.

readInt16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X8##) Source #

Read a vector from specified index of mutable array.

readInt32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X4##) Source #

Read a vector from specified index of mutable array.

readInt64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X2##) Source #

Read a vector from specified index of mutable array.

readInt8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X32##) Source #

Read a vector from specified index of mutable array.

readInt16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X16##) Source #

Read a vector from specified index of mutable array.

readInt32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X8##) Source #

Read a vector from specified index of mutable array.

readInt64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X4##) Source #

Read a vector from specified index of mutable array.

readInt8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X64##) Source #

Read a vector from specified index of mutable array.

readInt16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X32##) Source #

Read a vector from specified index of mutable array.

readInt32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X16##) Source #

Read a vector from specified index of mutable array.

readInt64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X8##) Source #

Read a vector from specified index of mutable array.

readWord8X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X16##) Source #

Read a vector from specified index of mutable array.

readWord16X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X8##) Source #

Read a vector from specified index of mutable array.

readWord32X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X4##) Source #

Read a vector from specified index of mutable array.

readWord64X2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X2##) Source #

Read a vector from specified index of mutable array.

readWord8X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X32##) Source #

Read a vector from specified index of mutable array.

readWord16X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X16##) Source #

Read a vector from specified index of mutable array.

readWord32X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X8##) Source #

Read a vector from specified index of mutable array.

readWord64X4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X4##) Source #

Read a vector from specified index of mutable array.

readWord8X64Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X64##) Source #

Read a vector from specified index of mutable array.

readWord16X32Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X32##) Source #

Read a vector from specified index of mutable array.

readWord32X16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X16##) Source #

Read a vector from specified index of mutable array.

readWord64X8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X8##) Source #

Read a vector from specified index of mutable array.

readFloatX4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX4##) Source #

Read a vector from specified index of mutable array.

readDoubleX2Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX2##) Source #

Read a vector from specified index of mutable array.

readFloatX8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX8##) Source #

Read a vector from specified index of mutable array.

readDoubleX4Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX4##) Source #

Read a vector from specified index of mutable array.

readFloatX16Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX16##) Source #

Read a vector from specified index of mutable array.

readDoubleX8Array# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX8##) Source #

Read a vector from specified index of mutable array.

writeInt8X16Array# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt16X8Array# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt32X4Array# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt64X2Array# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt8X32Array# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt16X16Array# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt32X8Array# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt64X4Array# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt8X64Array# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt16X32Array# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt32X16Array# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeInt64X8Array# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord8X16Array# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord16X8Array# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord32X4Array# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord64X2Array# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord8X32Array# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord16X16Array# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord32X8Array# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord64X4Array# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord8X64Array# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord16X32Array# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord32X16Array# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeWord64X8Array# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeFloatX4Array# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeDoubleX2Array# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeFloatX8Array# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeDoubleX4Array# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeFloatX16Array# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

writeDoubleX8Array# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array.

indexInt8X16OffAddr# :: Addr# -> Int# -> Int8X16# Source #

Reads vector; offset in bytes.

indexInt16X8OffAddr# :: Addr# -> Int# -> Int16X8# Source #

Reads vector; offset in bytes.

indexInt32X4OffAddr# :: Addr# -> Int# -> Int32X4# Source #

Reads vector; offset in bytes.

indexInt64X2OffAddr# :: Addr# -> Int# -> Int64X2# Source #

Reads vector; offset in bytes.

indexInt8X32OffAddr# :: Addr# -> Int# -> Int8X32# Source #

Reads vector; offset in bytes.

indexInt16X16OffAddr# :: Addr# -> Int# -> Int16X16# Source #

Reads vector; offset in bytes.

indexInt32X8OffAddr# :: Addr# -> Int# -> Int32X8# Source #

Reads vector; offset in bytes.

indexInt64X4OffAddr# :: Addr# -> Int# -> Int64X4# Source #

Reads vector; offset in bytes.

indexInt8X64OffAddr# :: Addr# -> Int# -> Int8X64# Source #

Reads vector; offset in bytes.

indexInt16X32OffAddr# :: Addr# -> Int# -> Int16X32# Source #

Reads vector; offset in bytes.

indexInt32X16OffAddr# :: Addr# -> Int# -> Int32X16# Source #

Reads vector; offset in bytes.

indexInt64X8OffAddr# :: Addr# -> Int# -> Int64X8# Source #

Reads vector; offset in bytes.

indexWord8X16OffAddr# :: Addr# -> Int# -> Word8X16# Source #

Reads vector; offset in bytes.

indexWord16X8OffAddr# :: Addr# -> Int# -> Word16X8# Source #

Reads vector; offset in bytes.

indexWord32X4OffAddr# :: Addr# -> Int# -> Word32X4# Source #

Reads vector; offset in bytes.

indexWord64X2OffAddr# :: Addr# -> Int# -> Word64X2# Source #

Reads vector; offset in bytes.

indexWord8X32OffAddr# :: Addr# -> Int# -> Word8X32# Source #

Reads vector; offset in bytes.

indexWord16X16OffAddr# :: Addr# -> Int# -> Word16X16# Source #

Reads vector; offset in bytes.

indexWord32X8OffAddr# :: Addr# -> Int# -> Word32X8# Source #

Reads vector; offset in bytes.

indexWord64X4OffAddr# :: Addr# -> Int# -> Word64X4# Source #

Reads vector; offset in bytes.

indexWord8X64OffAddr# :: Addr# -> Int# -> Word8X64# Source #

Reads vector; offset in bytes.

indexWord16X32OffAddr# :: Addr# -> Int# -> Word16X32# Source #

Reads vector; offset in bytes.

indexWord32X16OffAddr# :: Addr# -> Int# -> Word32X16# Source #

Reads vector; offset in bytes.

indexWord64X8OffAddr# :: Addr# -> Int# -> Word64X8# Source #

Reads vector; offset in bytes.

indexFloatX4OffAddr# :: Addr# -> Int# -> FloatX4# Source #

Reads vector; offset in bytes.

indexDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2# Source #

Reads vector; offset in bytes.

indexFloatX8OffAddr# :: Addr# -> Int# -> FloatX8# Source #

Reads vector; offset in bytes.

indexDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4# Source #

Reads vector; offset in bytes.

indexFloatX16OffAddr# :: Addr# -> Int# -> FloatX16# Source #

Reads vector; offset in bytes.

indexDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8# Source #

Reads vector; offset in bytes.

readInt8X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X16##) Source #

Reads vector; offset in bytes.

readInt16X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X8##) Source #

Reads vector; offset in bytes.

readInt32X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X4##) Source #

Reads vector; offset in bytes.

readInt64X2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X2##) Source #

Reads vector; offset in bytes.

readInt8X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X32##) Source #

Reads vector; offset in bytes.

readInt16X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X16##) Source #

Reads vector; offset in bytes.

readInt32X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X8##) Source #

Reads vector; offset in bytes.

readInt64X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X4##) Source #

Reads vector; offset in bytes.

readInt8X64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int8X64##) Source #

Reads vector; offset in bytes.

readInt16X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int16X32##) Source #

Reads vector; offset in bytes.

readInt32X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int32X16##) Source #

Reads vector; offset in bytes.

readInt64X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Int64X8##) Source #

Reads vector; offset in bytes.

readWord8X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X16##) Source #

Reads vector; offset in bytes.

readWord16X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X8##) Source #

Reads vector; offset in bytes.

readWord32X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X4##) Source #

Reads vector; offset in bytes.

readWord64X2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X2##) Source #

Reads vector; offset in bytes.

readWord8X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X32##) Source #

Reads vector; offset in bytes.

readWord16X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X16##) Source #

Reads vector; offset in bytes.

readWord32X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X8##) Source #

Reads vector; offset in bytes.

readWord64X4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X4##) Source #

Reads vector; offset in bytes.

readWord8X64OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word8X64##) Source #

Reads vector; offset in bytes.

readWord16X32OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word16X32##) Source #

Reads vector; offset in bytes.

readWord32X16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word32X16##) Source #

Reads vector; offset in bytes.

readWord64X8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, Word64X8##) Source #

Reads vector; offset in bytes.

readFloatX4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX4##) Source #

Reads vector; offset in bytes.

readDoubleX2OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX2##) Source #

Reads vector; offset in bytes.

readFloatX8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX8##) Source #

Reads vector; offset in bytes.

readDoubleX4OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX4##) Source #

Reads vector; offset in bytes.

readFloatX16OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, FloatX16##) Source #

Reads vector; offset in bytes.

readDoubleX8OffAddr# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX8##) Source #

Reads vector; offset in bytes.

writeInt8X16OffAddr# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt16X8OffAddr# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt32X4OffAddr# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt64X2OffAddr# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt8X32OffAddr# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt16X16OffAddr# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt32X8OffAddr# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt64X4OffAddr# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt8X64OffAddr# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt16X32OffAddr# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt32X16OffAddr# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeInt64X8OffAddr# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord8X16OffAddr# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord16X8OffAddr# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord32X4OffAddr# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord64X2OffAddr# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord8X32OffAddr# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord16X16OffAddr# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord32X8OffAddr# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord64X4OffAddr# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord8X64OffAddr# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord16X32OffAddr# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord32X16OffAddr# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeWord64X8OffAddr# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeFloatX4OffAddr# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeDoubleX2OffAddr# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeFloatX8OffAddr# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeDoubleX4OffAddr# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeFloatX16OffAddr# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d Source #

Write vector; offset in bytes.

writeDoubleX8OffAddr# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d Source #

Write vector; offset in bytes.

indexInt8ArrayAsInt8X16# :: ByteArray# -> Int# -> Int8X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt16ArrayAsInt16X8# :: ByteArray# -> Int# -> Int16X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt32ArrayAsInt32X4# :: ByteArray# -> Int# -> Int32X4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt64ArrayAsInt64X2# :: ByteArray# -> Int# -> Int64X2# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt8ArrayAsInt8X32# :: ByteArray# -> Int# -> Int8X32# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt16ArrayAsInt16X16# :: ByteArray# -> Int# -> Int16X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt32ArrayAsInt32X8# :: ByteArray# -> Int# -> Int32X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt64ArrayAsInt64X4# :: ByteArray# -> Int# -> Int64X4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt8ArrayAsInt8X64# :: ByteArray# -> Int# -> Int8X64# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt16ArrayAsInt16X32# :: ByteArray# -> Int# -> Int16X32# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt32ArrayAsInt32X16# :: ByteArray# -> Int# -> Int32X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexInt64ArrayAsInt64X8# :: ByteArray# -> Int# -> Int64X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord8ArrayAsWord8X16# :: ByteArray# -> Int# -> Word8X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord16ArrayAsWord16X8# :: ByteArray# -> Int# -> Word16X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord32ArrayAsWord32X4# :: ByteArray# -> Int# -> Word32X4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord64ArrayAsWord64X2# :: ByteArray# -> Int# -> Word64X2# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord8ArrayAsWord8X32# :: ByteArray# -> Int# -> Word8X32# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord16ArrayAsWord16X16# :: ByteArray# -> Int# -> Word16X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord32ArrayAsWord32X8# :: ByteArray# -> Int# -> Word32X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord64ArrayAsWord64X4# :: ByteArray# -> Int# -> Word64X4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord8ArrayAsWord8X64# :: ByteArray# -> Int# -> Word8X64# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord16ArrayAsWord16X32# :: ByteArray# -> Int# -> Word16X32# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord32ArrayAsWord32X16# :: ByteArray# -> Int# -> Word32X16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexWord64ArrayAsWord64X8# :: ByteArray# -> Int# -> Word64X8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexFloatArrayAsFloatX4# :: ByteArray# -> Int# -> FloatX4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexDoubleArrayAsDoubleX2# :: ByteArray# -> Int# -> DoubleX2# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexFloatArrayAsFloatX8# :: ByteArray# -> Int# -> FloatX8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexDoubleArrayAsDoubleX4# :: ByteArray# -> Int# -> DoubleX4# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexFloatArrayAsFloatX16# :: ByteArray# -> Int# -> FloatX16# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

indexDoubleArrayAsDoubleX8# :: ByteArray# -> Int# -> DoubleX8# Source #

Read a vector from specified index of immutable array of scalars; offset is in scalar elements.

readInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X2##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X32##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int8X64##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int16X32##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int32X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Int64X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X2##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X32##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word8X64##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word16X32##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word32X16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, Word64X8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX2##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX4##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, FloatX16##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

readDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> State# d -> (#State# d, DoubleX8##) Source #

Read a vector from specified index of mutable array of scalars; offset is in scalar elements.

writeInt8ArrayAsInt8X16# :: MutableByteArray# d -> Int# -> Int8X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt16ArrayAsInt16X8# :: MutableByteArray# d -> Int# -> Int16X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt32ArrayAsInt32X4# :: MutableByteArray# d -> Int# -> Int32X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt64ArrayAsInt64X2# :: MutableByteArray# d -> Int# -> Int64X2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt8ArrayAsInt8X32# :: MutableByteArray# d -> Int# -> Int8X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt16ArrayAsInt16X16# :: MutableByteArray# d -> Int# -> Int16X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt32ArrayAsInt32X8# :: MutableByteArray# d -> Int# -> Int32X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt64ArrayAsInt64X4# :: MutableByteArray# d -> Int# -> Int64X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt8ArrayAsInt8X64# :: MutableByteArray# d -> Int# -> Int8X64# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt16ArrayAsInt16X32# :: MutableByteArray# d -> Int# -> Int16X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt32ArrayAsInt32X16# :: MutableByteArray# d -> Int# -> Int32X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeInt64ArrayAsInt64X8# :: MutableByteArray# d -> Int# -> Int64X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord8ArrayAsWord8X16# :: MutableByteArray# d -> Int# -> Word8X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord16ArrayAsWord16X8# :: MutableByteArray# d -> Int# -> Word16X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord32ArrayAsWord32X4# :: MutableByteArray# d -> Int# -> Word32X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord64ArrayAsWord64X2# :: MutableByteArray# d -> Int# -> Word64X2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord8ArrayAsWord8X32# :: MutableByteArray# d -> Int# -> Word8X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord16ArrayAsWord16X16# :: MutableByteArray# d -> Int# -> Word16X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord32ArrayAsWord32X8# :: MutableByteArray# d -> Int# -> Word32X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord64ArrayAsWord64X4# :: MutableByteArray# d -> Int# -> Word64X4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord8ArrayAsWord8X64# :: MutableByteArray# d -> Int# -> Word8X64# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord16ArrayAsWord16X32# :: MutableByteArray# d -> Int# -> Word16X32# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord32ArrayAsWord32X16# :: MutableByteArray# d -> Int# -> Word32X16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeWord64ArrayAsWord64X8# :: MutableByteArray# d -> Int# -> Word64X8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeFloatArrayAsFloatX4# :: MutableByteArray# d -> Int# -> FloatX4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeDoubleArrayAsDoubleX2# :: MutableByteArray# d -> Int# -> DoubleX2# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeFloatArrayAsFloatX8# :: MutableByteArray# d -> Int# -> FloatX8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeDoubleArrayAsDoubleX4# :: MutableByteArray# d -> Int# -> DoubleX4# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeFloatArrayAsFloatX16# :: MutableByteArray# d -> Int# -> FloatX16# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

writeDoubleArrayAsDoubleX8# :: MutableByteArray# d -> Int# -> DoubleX8# -> State# d -> State# d Source #

Write a vector to specified index of mutable array of scalars; offset is in scalar elements.

indexInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16# Source #

Reads vector; offset in scalar elements.

indexInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8# Source #

Reads vector; offset in scalar elements.

indexInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4# Source #

Reads vector; offset in scalar elements.

indexInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2# Source #

Reads vector; offset in scalar elements.

indexInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32# Source #

Reads vector; offset in scalar elements.

indexInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16# Source #

Reads vector; offset in scalar elements.

indexInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8# Source #

Reads vector; offset in scalar elements.

indexInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4# Source #

Reads vector; offset in scalar elements.

indexInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64# Source #

Reads vector; offset in scalar elements.

indexInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32# Source #

Reads vector; offset in scalar elements.

indexInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16# Source #

Reads vector; offset in scalar elements.

indexInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8# Source #

Reads vector; offset in scalar elements.

indexWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16# Source #

Reads vector; offset in scalar elements.

indexWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8# Source #

Reads vector; offset in scalar elements.

indexWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4# Source #

Reads vector; offset in scalar elements.

indexWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2# Source #

Reads vector; offset in scalar elements.

indexWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32# Source #

Reads vector; offset in scalar elements.

indexWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16# Source #

Reads vector; offset in scalar elements.

indexWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8# Source #

Reads vector; offset in scalar elements.

indexWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4# Source #

Reads vector; offset in scalar elements.

indexWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64# Source #

Reads vector; offset in scalar elements.

indexWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32# Source #

Reads vector; offset in scalar elements.

indexWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16# Source #

Reads vector; offset in scalar elements.

indexWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8# Source #

Reads vector; offset in scalar elements.

indexFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4# Source #

Reads vector; offset in scalar elements.

indexDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2# Source #

Reads vector; offset in scalar elements.

indexFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8# Source #

Reads vector; offset in scalar elements.

indexDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4# Source #

Reads vector; offset in scalar elements.

indexFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16# Source #

Reads vector; offset in scalar elements.

indexDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8# Source #

Reads vector; offset in scalar elements.

readInt8OffAddrAsInt8X16# :: Addr# -> Int# -> State# d -> (#State# d, Int8X16##) Source #

Reads vector; offset in scalar elements.

readInt16OffAddrAsInt16X8# :: Addr# -> Int# -> State# d -> (#State# d, Int16X8##) Source #

Reads vector; offset in scalar elements.

readInt32OffAddrAsInt32X4# :: Addr# -> Int# -> State# d -> (#State# d, Int32X4##) Source #

Reads vector; offset in scalar elements.

readInt64OffAddrAsInt64X2# :: Addr# -> Int# -> State# d -> (#State# d, Int64X2##) Source #

Reads vector; offset in scalar elements.

readInt8OffAddrAsInt8X32# :: Addr# -> Int# -> State# d -> (#State# d, Int8X32##) Source #

Reads vector; offset in scalar elements.

readInt16OffAddrAsInt16X16# :: Addr# -> Int# -> State# d -> (#State# d, Int16X16##) Source #

Reads vector; offset in scalar elements.

readInt32OffAddrAsInt32X8# :: Addr# -> Int# -> State# d -> (#State# d, Int32X8##) Source #

Reads vector; offset in scalar elements.

readInt64OffAddrAsInt64X4# :: Addr# -> Int# -> State# d -> (#State# d, Int64X4##) Source #

Reads vector; offset in scalar elements.

readInt8OffAddrAsInt8X64# :: Addr# -> Int# -> State# d -> (#State# d, Int8X64##) Source #

Reads vector; offset in scalar elements.

readInt16OffAddrAsInt16X32# :: Addr# -> Int# -> State# d -> (#State# d, Int16X32##) Source #

Reads vector; offset in scalar elements.

readInt32OffAddrAsInt32X16# :: Addr# -> Int# -> State# d -> (#State# d, Int32X16##) Source #

Reads vector; offset in scalar elements.

readInt64OffAddrAsInt64X8# :: Addr# -> Int# -> State# d -> (#State# d, Int64X8##) Source #

Reads vector; offset in scalar elements.

readWord8OffAddrAsWord8X16# :: Addr# -> Int# -> State# d -> (#State# d, Word8X16##) Source #

Reads vector; offset in scalar elements.

readWord16OffAddrAsWord16X8# :: Addr# -> Int# -> State# d -> (#State# d, Word16X8##) Source #

Reads vector; offset in scalar elements.

readWord32OffAddrAsWord32X4# :: Addr# -> Int# -> State# d -> (#State# d, Word32X4##) Source #

Reads vector; offset in scalar elements.

readWord64OffAddrAsWord64X2# :: Addr# -> Int# -> State# d -> (#State# d, Word64X2##) Source #

Reads vector; offset in scalar elements.

readWord8OffAddrAsWord8X32# :: Addr# -> Int# -> State# d -> (#State# d, Word8X32##) Source #

Reads vector; offset in scalar elements.

readWord16OffAddrAsWord16X16# :: Addr# -> Int# -> State# d -> (#State# d, Word16X16##) Source #

Reads vector; offset in scalar elements.

readWord32OffAddrAsWord32X8# :: Addr# -> Int# -> State# d -> (#State# d, Word32X8##) Source #

Reads vector; offset in scalar elements.

readWord64OffAddrAsWord64X4# :: Addr# -> Int# -> State# d -> (#State# d, Word64X4##) Source #

Reads vector; offset in scalar elements.

readWord8OffAddrAsWord8X64# :: Addr# -> Int# -> State# d -> (#State# d, Word8X64##) Source #

Reads vector; offset in scalar elements.

readWord16OffAddrAsWord16X32# :: Addr# -> Int# -> State# d -> (#State# d, Word16X32##) Source #

Reads vector; offset in scalar elements.

readWord32OffAddrAsWord32X16# :: Addr# -> Int# -> State# d -> (#State# d, Word32X16##) Source #

Reads vector; offset in scalar elements.

readWord64OffAddrAsWord64X8# :: Addr# -> Int# -> State# d -> (#State# d, Word64X8##) Source #

Reads vector; offset in scalar elements.

readFloatOffAddrAsFloatX4# :: Addr# -> Int# -> State# d -> (#State# d, FloatX4##) Source #

Reads vector; offset in scalar elements.

readDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX2##) Source #

Reads vector; offset in scalar elements.

readFloatOffAddrAsFloatX8# :: Addr# -> Int# -> State# d -> (#State# d, FloatX8##) Source #

Reads vector; offset in scalar elements.

readDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX4##) Source #

Reads vector; offset in scalar elements.

readFloatOffAddrAsFloatX16# :: Addr# -> Int# -> State# d -> (#State# d, FloatX16##) Source #

Reads vector; offset in scalar elements.

readDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> State# d -> (#State# d, DoubleX8##) Source #

Reads vector; offset in scalar elements.

writeInt8OffAddrAsInt8X16# :: Addr# -> Int# -> Int8X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt16OffAddrAsInt16X8# :: Addr# -> Int# -> Int16X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt32OffAddrAsInt32X4# :: Addr# -> Int# -> Int32X4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt64OffAddrAsInt64X2# :: Addr# -> Int# -> Int64X2# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt8OffAddrAsInt8X32# :: Addr# -> Int# -> Int8X32# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt16OffAddrAsInt16X16# :: Addr# -> Int# -> Int16X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt32OffAddrAsInt32X8# :: Addr# -> Int# -> Int32X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt64OffAddrAsInt64X4# :: Addr# -> Int# -> Int64X4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt8OffAddrAsInt8X64# :: Addr# -> Int# -> Int8X64# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt16OffAddrAsInt16X32# :: Addr# -> Int# -> Int16X32# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt32OffAddrAsInt32X16# :: Addr# -> Int# -> Int32X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeInt64OffAddrAsInt64X8# :: Addr# -> Int# -> Int64X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord8OffAddrAsWord8X16# :: Addr# -> Int# -> Word8X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord16OffAddrAsWord16X8# :: Addr# -> Int# -> Word16X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord32OffAddrAsWord32X4# :: Addr# -> Int# -> Word32X4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord64OffAddrAsWord64X2# :: Addr# -> Int# -> Word64X2# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord8OffAddrAsWord8X32# :: Addr# -> Int# -> Word8X32# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord16OffAddrAsWord16X16# :: Addr# -> Int# -> Word16X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord32OffAddrAsWord32X8# :: Addr# -> Int# -> Word32X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord64OffAddrAsWord64X4# :: Addr# -> Int# -> Word64X4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord8OffAddrAsWord8X64# :: Addr# -> Int# -> Word8X64# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord16OffAddrAsWord16X32# :: Addr# -> Int# -> Word16X32# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord32OffAddrAsWord32X16# :: Addr# -> Int# -> Word32X16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeWord64OffAddrAsWord64X8# :: Addr# -> Int# -> Word64X8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeFloatOffAddrAsFloatX4# :: Addr# -> Int# -> FloatX4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeDoubleOffAddrAsDoubleX2# :: Addr# -> Int# -> DoubleX2# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeFloatOffAddrAsFloatX8# :: Addr# -> Int# -> FloatX8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeDoubleOffAddrAsDoubleX4# :: Addr# -> Int# -> DoubleX4# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeFloatOffAddrAsFloatX16# :: Addr# -> Int# -> FloatX16# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

writeDoubleOffAddrAsDoubleX8# :: Addr# -> Int# -> DoubleX8# -> State# d -> State# d Source #

Write vector; offset in scalar elements.

prefetchByteArray3# :: ByteArray# -> Int# -> State# d -> State# d Source #

prefetchMutableByteArray3# :: MutableByteArray# d -> Int# -> State# d -> State# d Source #

prefetchAddr3# :: Addr# -> Int# -> State# d -> State# d Source #

prefetchValue3# :: a -> State# d -> State# d Source #

prefetchByteArray2# :: ByteArray# -> Int# -> State# d -> State# d Source #

prefetchMutableByteArray2# :: MutableByteArray# d -> Int# -> State# d -> State# d Source #

prefetchAddr2# :: Addr# -> Int# -> State# d -> State# d Source #

prefetchValue2# :: a -> State# d -> State# d Source #

prefetchByteArray1# :: ByteArray# -> Int# -> State# d -> State# d Source #

prefetchMutableByteArray1# :: MutableByteArray# d -> Int# -> State# d -> State# d Source #

prefetchAddr1# :: Addr# -> Int# -> State# d -> State# d Source #

prefetchValue1# :: a -> State# d -> State# d Source #

prefetchByteArray0# :: ByteArray# -> Int# -> State# d -> State# d Source #

prefetchMutableByteArray0# :: MutableByteArray# d -> Int# -> State# d -> State# d Source #

prefetchAddr0# :: Addr# -> Int# -> State# d -> State# d Source #

prefetchValue0# :: a -> State# d -> State# d Source #

shiftL# :: Word# -> Int# -> Word# #

Shift the argument left by the specified number of bits (which must be non-negative).

shiftRL# :: Word# -> Int# -> Word# #

Shift the argument right by the specified number of bits (which must be non-negative). The RL means "right, logical" (as opposed to RA for arithmetic) (although an arithmetic right shift wouldn't make sense for Word#)

iShiftL# :: Int# -> Int# -> Int# #

Shift the argument left by the specified number of bits (which must be non-negative).

iShiftRA# :: Int# -> Int# -> Int# #

Shift the argument right (signed) by the specified number of bits (which must be non-negative). The RA means "right, arithmetic" (as opposed to RL for logical)

iShiftRL# :: Int# -> Int# -> Int# #

Shift the argument right (unsigned) by the specified number of bits (which must be non-negative). The RL means "right, logical" (as opposed to RA for arithmetic)

uncheckedShiftL64# :: Word# -> Int# -> Word# #

uncheckedShiftRL64# :: Word# -> Int# -> Word# #

uncheckedIShiftL64# :: Int# -> Int# -> Int# #

uncheckedIShiftRA64# :: Int# -> Int# -> Int# #

isTrue# :: Int# -> Bool Source #

Alias for `tagToEnum#`. Returns True if its parameter is 1# and False if it is 0#.

# Fusion

build :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a] #

A list producer that can be fused with `foldr`. This function is merely

       build g = g (:) []

but GHC's simplifier will transform an expression of the form ``foldr` k z (`build` g)`, which may arise after inlining, to `g k z`, which avoids producing an intermediate list.

augment :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a] -> [a] #

A list producer that can be fused with `foldr`. This function is merely

       augment g xs = g (:) xs

but GHC's simplifier will transform an expression of the form ``foldr` k z (`augment` g xs)`, which may arise after inlining, to `g k (`foldr` k z xs)`, which avoids producing an intermediate list.

# Overloaded string literals

class IsString a where #

Class for string-like datastructures; used by the overloaded string extension (-XOverloadedStrings in GHC).

Methods

fromString :: String -> a #

Instances

a ~ Char => IsString [a] # | `(a ~ Char)` context was introduced in `4.9.0.0` Since: base-2.1
Instance details Defined in Data.String Methods fromString :: String -> [a] #
IsString a => IsString (Identity a) # | Since: base-4.9.0.0
Instance details Defined in Data.String Methods fromString :: String -> Identity a #
IsString a => IsString (Const a b) # | Since: base-4.9.0.0
Instance details Defined in Data.String Methods fromString :: String -> Const a b #

# Debugging

breakpoint :: a -> a #

breakpointCond :: Bool -> a -> a #

# Ids with special behaviour

lazy :: a -> a Source #

The `lazy` function restrains strictness analysis a little. The call `lazy e` means the same as `e`, but `lazy` has a magical property so far as strictness analysis is concerned: it is lazy in its first argument, even though its semantics is strict. After strictness analysis has run, calls to `lazy` are inlined to be the identity function.

This behaviour is occasionally useful when controlling evaluation order. Notably, `lazy` is used in the library definition of `par`:

    par :: a -> b -> b
    par x y = case (par# x) of _ -> lazy y

If `lazy` were not lazy, `par` would look strict in `y` which would defeat the whole purpose of `par`.

Like `seq`, the argument of `lazy` can have an unboxed type.

inline :: a -> a Source #

The call `inline f` arranges that `f` is inlined, regardless of its size. More precisely, the call `inline f` rewrites to the right-hand side of `f`'s definition. This allows the programmer to control inlining from a particular call site rather than the definition site of the function (c.f. `INLINE` pragmas).

This inlining occurs regardless of the argument to the call or the size of `f`'s definition; it is unconditional. The main caveat is that `f`'s definition must be visible to the compiler; it is therefore recommended to mark the function with an `INLINABLE` pragma at its definition so that GHC guarantees to record its unfolding regardless of size.

If no inlining takes place, the `inline` function expands to the identity function in Phase zero, so its use imposes no overhead.

oneShot :: (a -> b) -> a -> b Source #

The `oneShot` function can be used to give a hint to the compiler that its argument will be called at most once, which may (or may not) enable certain optimizations. It can be useful to improve the performance of code in continuation passing style.

If `oneShot` is used wrongly, then it may be that computations whose result that would otherwise be shared are re-evaluated every time they are used. Otherwise, the use of `oneShot` is safe.

`oneShot` is representation polymorphic: the type variables may refer to lifted or unlifted types.

# Running `RealWorld` state transformers

runRW# :: (State# RealWorld -> o) -> o Source #

Apply a function to a 'State# RealWorld' token. When manually applying a function to `realWorld#`, it is necessary to use `NOINLINE` to prevent semantically undesirable floating. `runRW#` is inlined, but only very late in compilation after all floating is complete.

# Safe coercions

These are available from the Trustworthy module Data.Coerce as well

Since: base-4.7.0.0

coerce :: Coercible a b => a -> b Source #

The function `coerce` allows you to safely convert between values of types that have the same representation with no run-time overhead. In the simplest case you can use it instead of a newtype constructor, to go from the newtype's concrete type to the abstract type. But it also works in more complicated settings, e.g. converting a list of newtypes to a list of concrete types.

class a ~R# b => Coercible (a :: k0) (b :: k0) Source #

`Coercible` is a two-parameter class that has instances for types `a` and `b` if the compiler can infer that they have the same representation. This class does not have regular instances; instead they are created on-the-fly during type-checking. Trying to manually declare an instance of `Coercible` is an error.

Nevertheless one can pretend that the following three kinds of instances exist. First, as a trivial base-case:

    instance Coercible a a

Furthermore, for every type constructor there is an instance that allows to coerce under the type constructor. For example, let `D` be a prototypical type constructor (`data` or `newtype`) with three type arguments, which have roles `nominal`, `representational` resp. `phantom`. Then there is an instance of the form

    instance Coercible b b' => Coercible (D a b c) (D a b' c')

Note that the `nominal` type arguments are equal, the `representational` type arguments can differ, but need to have a `Coercible` instance themself, and the `phantom` type arguments can be changed arbitrarily.

The third kind of instance exists for every `newtype NT = MkNT T` and comes in two variants, namely

    instance Coercible a T => Coercible a NT

    instance Coercible T b => Coercible NT b

This instance is only usable if the constructor `MkNT` is in scope.

If, as a library author of a type constructor like `Set a`, you want to prevent a user of your module to write `coerce :: Set T -> Set NT`, you need to set the role of `Set`'s type parameter to `nominal`, by writing

    type role Set nominal

For more details about this feature, please refer to Safe Coercions by Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones and Stephanie Weirich.

Since: ghc-prim-4.7.0.0

# Equality

class a ~# b => (a :: k0) ~~ (b :: k1) Source #

Lifted, heterogeneous equality. By lifted, we mean that it can be bogus (deferred type error). By heterogeneous, the two types `a` and `b` might have different kinds. Because `~~` can appear unexpectedly in error messages to users who do not care about the difference between heterogeneous equality `~~` and homogeneous equality `~`, this is printed as `~` unless `-fprint-equality-relations` is set.

# Representation polymorphism

data TYPE (a :: RuntimeRep) :: RuntimeRep -> Type Source #

Instances

Functor f => Generic1 (f :.: g :: k -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (f :.: g) :: k -> Type # Methods from1 :: (f :.: g) a -> Rep1 (f :.: g) a # to1 :: Rep1 (f :.: g) a -> (f :.: g) a #
Functor f => Generic1 (Compose f g :: k -> Type) # |
Instance details Defined in Data.Functor.Compose Associated Types type Rep1 (Compose f g) :: k -> Type # Methods from1 :: Compose f g a -> Rep1 (Compose f g) a # to1 :: Rep1 (Compose f g) a -> Compose f g a #
Monad (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (>>=) :: U1 a -> (a -> U1 b) -> U1 b # (>>) :: U1 a -> U1 b -> U1 b # return :: a -> U1 a # fail :: String -> U1 a #
Monad (Proxy :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Proxy Methods (>>=) :: Proxy a -> (a -> Proxy b) -> Proxy b # (>>) :: Proxy a -> Proxy b -> Proxy b # return :: a -> Proxy a # fail :: String -> Proxy a #
Functor (V1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> V1 a -> V1 b # (<$) :: a -> V1 b -> V1 a #
Functor (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> U1 a -> U1 b # (<$) :: a -> U1 b -> U1 a #
Functor (Proxy :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Proxy Methods fmap :: (a -> b) -> Proxy a -> Proxy b # (<$) :: a -> Proxy b -> Proxy a #
Applicative (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> U1 a # (<*>) :: U1 (a -> b) -> U1 a -> U1 b # liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c # (*>) :: U1 a -> U1 b -> U1 b # (<*) :: U1 a -> U1 b -> U1 a #
Applicative (Proxy :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Proxy Methods pure :: a -> Proxy a # (<*>) :: Proxy (a -> b) -> Proxy a -> Proxy b # liftA2 :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c # (*>) :: Proxy a -> Proxy b -> Proxy b # (<*) :: Proxy a -> Proxy b -> Proxy a #
Foldable (V1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => V1 m -> m # foldMap :: Monoid m => (a -> m) -> V1 a -> m # foldr :: (a -> b -> b) -> b -> V1 a -> b # foldr' :: (a -> b -> b) -> b -> V1 a -> b # foldl :: (b -> a -> b) -> b -> V1 a -> b # foldl' :: (b -> a -> b) -> b -> V1 a -> b # foldr1 :: (a -> a -> a) -> V1 a -> a # foldl1 :: (a -> a -> a) -> V1 a -> a # toList :: V1 a -> [a] # null :: V1 a -> Bool # length :: V1 a -> Int # elem :: Eq a => a -> V1 a -> Bool # maximum :: Ord a => V1 a -> a # minimum :: Ord a => V1 a -> a # sum :: Num a => V1 a -> a # product :: Num a => V1 a -> a #
Foldable (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => U1 m -> m # foldMap :: Monoid m => (a -> m) -> U1 a -> m # foldr :: (a -> b -> b) -> b -> U1 a -> b # foldr' :: (a -> b -> b) -> b -> U1 a -> b # foldl :: (b -> a -> b) -> b -> U1 a -> b # foldl' :: (b -> a -> b) -> b -> U1 a -> b # foldr1 :: (a -> a -> a) -> U1 a -> a # foldl1 :: (a -> a -> a) -> U1 a -> a # toList :: U1 a -> [a] # null :: U1 a -> Bool # length :: U1 a -> Int # elem :: Eq a => a -> U1 a -> Bool # maximum :: Ord a => U1 a -> a # minimum :: Ord a => U1 a -> a # sum :: Num a => U1 a -> a # product :: Num a => U1 a -> a #
Foldable (Proxy :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Proxy m -> m # foldMap :: Monoid m => (a -> m) -> Proxy a -> m # foldr :: (a -> b -> b) -> b -> Proxy a -> b # foldr' :: (a -> b -> b) -> b -> Proxy a -> b # foldl :: (b -> a -> b) -> b -> Proxy a -> b # foldl' :: (b -> a -> b) -> b -> Proxy a -> b # foldr1 :: (a -> a -> a) -> Proxy a -> a # foldl1 :: (a -> a -> a) -> Proxy a -> a # toList :: Proxy a -> [a] # null :: Proxy a -> Bool # length :: Proxy a -> Int # elem :: Eq a => a -> Proxy a -> Bool # maximum :: Ord a => Proxy a -> a # minimum :: Ord a => Proxy a -> a # sum :: Num a => Proxy a -> a # product :: Num a => Proxy a -> a #
Traversable (V1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b) # sequenceA :: Applicative f => V1 (f a) -> f (V1 a) # mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b) # sequence :: Monad m => V1 (m a) -> m (V1 a) #
Traversable (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> U1 a -> f (U1 b) # sequenceA :: Applicative f => U1 (f a) -> f (U1 a) # mapM :: Monad m => (a -> m b) -> U1 a -> m (U1 b) # sequence :: Monad m => U1 (m a) -> m (U1 a) #
Traversable (Proxy :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Proxy a -> f (Proxy b) # sequenceA :: Applicative f => Proxy (f a) -> f (Proxy a) # mapM :: Monad m => (a -> m b) -> Proxy a -> m (Proxy b) # sequence :: Monad m => Proxy (m a) -> m (Proxy a) #
MonadPlus (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods mzero :: U1 a # mplus :: U1 a -> U1 a -> U1 a #
MonadPlus (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Proxy Methods mzero :: Proxy a # mplus :: Proxy a -> Proxy a -> Proxy a #
Alternative (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods empty :: U1 a # (<|>) :: U1 a -> U1 a -> U1 a # some :: U1 a -> U1 [a] # many :: U1 a -> U1 [a] #
Alternative (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Proxy Methods empty :: Proxy a # (<|>) :: Proxy a -> Proxy a -> Proxy a # some :: Proxy a -> Proxy [a] # many :: Proxy a -> Proxy [a] #
MonadZip (U1 :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: U1 a -> U1 b -> U1 (a, b) # mzipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c # munzip :: U1 (a, b) -> (U1 a, U1 b) #
MonadZip (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: Proxy a -> Proxy b -> Proxy (a, b) # mzipWith :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c # munzip :: Proxy (a, b) -> (Proxy a, Proxy b) #
Show2 (Const :: Type -> Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Const a b -> ShowS # liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Const a b] -> ShowS #
Read2 (Const :: Type -> Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftReadsPrec2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> Int -> ReadS (Const a b) # liftReadList2 :: (Int -> ReadS a) -> ReadS [a] -> (Int -> ReadS b) -> ReadS [b] -> ReadS [Const a b] # liftReadPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec (Const a b) # liftReadListPrec2 :: ReadPrec a -> ReadPrec [a] -> ReadPrec b -> ReadPrec [b] -> ReadPrec [Const a b] #
Ord2 (Const :: Type -> Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Const a c -> Const b d -> Ordering #
Eq2 (Const :: Type -> Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Const a c -> Const b d -> Bool #
Show1 (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Proxy a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Proxy a] -> ShowS #
Read1 (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Proxy a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Proxy a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Proxy a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Proxy a] #
Ord1 (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftCompare :: (a -> b -> Ordering) -> Proxy a -> Proxy b -> Ordering #
Eq1 (Proxy :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftEq :: (a -> b -> Bool) -> Proxy a -> Proxy b -> Bool #
Bifunctor (Const :: Type -> Type -> Type) # | Since: base-4.8.0.0
Instance details Defined in Data.Bifunctor Methods bimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d # first :: (a -> b) -> Const a c -> Const b c # second :: (b -> c) -> Const a b -> Const a c #
Bifoldable (Const :: Type -> Type -> Type) # | Since: base-4.10.0.0
Instance details Defined in Data.Bifoldable Methods bifold :: Monoid m => Const m m -> m # bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Const a b -> m # bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Const a b -> c # bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Const a b -> c #
Bitraversable (Const :: Type -> Type -> Type) # | Since: base-4.10.0.0
Instance details Defined in Data.Bitraversable Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Const a b -> f (Const c d) #
Contravariant (V1 :: Type -> Type) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> V1 b -> V1 a # (>$) :: b -> V1 b -> V1 a #
Contravariant (U1 :: Type -> Type) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> U1 b -> U1 a # (>$) :: b -> U1 b -> U1 a #
Contravariant (Proxy :: Type -> Type) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Proxy b -> Proxy a # (>$) :: b -> Proxy b -> Proxy a #
Generic1 [] # |
Instance details Defined in GHC.Generics Associated Types type Rep1 [] :: k -> Type # Methods from1 :: [a] -> Rep1 [] a # to1 :: Rep1 [] a -> [a] #
Generic1 Maybe # |
Instance details Defined in GHC.Generics Associated Types type Rep1 Maybe :: k -> Type # Methods from1 :: Maybe a -> Rep1 Maybe a # to1 :: Rep1 Maybe a -> Maybe a #
Generic1 Par1 # |
Instance details Defined in GHC.Generics Associated Types type Rep1 Par1 :: k -> Type # Methods from1 :: Par1 a -> Rep1 Par1 a # to1 :: Rep1 Par1 a -> Par1 a #
Generic1 NonEmpty # |
Instance details Defined in GHC.Generics Associated Types type Rep1 NonEmpty :: k -> Type # Methods from1 :: NonEmpty a -> Rep1 NonEmpty a # to1 :: Rep1 NonEmpty a -> NonEmpty a #
Generic1 Down # |
Instance details Defined in GHC.Generics Associated Types type Rep1 Down :: k -> Type # Methods from1 :: Down a -> Rep1 Down a # to1 :: Rep1 Down a -> Down a #
Generic1 Product # |
Instance details Defined in Data.Semigroup.Internal Associated Types type Rep1 Product :: k -> Type # Methods from1 :: Product a -> Rep1 Product a # to1 :: Rep1 Product a -> Product a #
Generic1 Sum # |
Instance details Defined in Data.Semigroup.Internal Associated Types type Rep1 Sum :: k -> Type # Methods from1 :: Sum a -> Rep1 Sum a # to1 :: Rep1 Sum a -> Sum a #
Generic1 Dual # |
Instance details Defined in Data.Semigroup.Internal Associated Types type Rep1 Dual :: k -> Type # Methods from1 :: Dual a -> Rep1 Dual a # to1 :: Rep1 Dual a -> Dual a #
Generic1 Last # |
Instance details Defined in Data.Monoid Associated Types type Rep1 Last :: k -> Type # Methods from1 :: Last a -> Rep1 Last a # to1 :: Rep1 Last a -> Last a #
Generic1 First # |
Instance details Defined in Data.Monoid Associated Types type Rep1 First :: k -> Type # Methods from1 :: First a -> Rep1 First a # to1 :: Rep1 First a -> First a #
Generic1 Identity # |
Instance details Defined in Data.Functor.Identity Associated Types type Rep1 Identity :: k -> Type # Methods from1 :: Identity a -> Rep1 Identity a # to1 :: Rep1 Identity a -> Identity a #
Generic1 ZipList # |
Instance details Defined in Control.Applicative Associated Types type Rep1 ZipList :: k -> Type # Methods from1 :: ZipList a -> Rep1 ZipList a # to1 :: Rep1 ZipList a -> ZipList a #
Generic1 Option # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 Option :: k -> Type # Methods from1 :: Option a -> Rep1 Option a # to1 :: Rep1 Option a -> Option a #
Generic1 WrappedMonoid # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 WrappedMonoid :: k -> Type # Methods from1 :: WrappedMonoid a -> Rep1 WrappedMonoid a # to1 :: Rep1 WrappedMonoid a -> WrappedMonoid a #
Generic1 Last # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 Last :: k -> Type # Methods from1 :: Last a -> Rep1 Last a # to1 :: Rep1 Last a -> Last a #
Generic1 First # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 First :: k -> Type # Methods from1 :: First a -> Rep1 First a # to1 :: Rep1 First a -> First a #
Generic1 Max # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 Max :: k -> Type # Methods from1 :: Max a -> Rep1 Max a # to1 :: Rep1 Max a -> Max a #
Generic1 Min # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 Min :: k -> Type # Methods from1 :: Min a -> Rep1 Min a # to1 :: Rep1 Min a -> Min a #
Generic1 Complex # |
Instance details Defined in Data.Complex Associated Types type Rep1 Complex :: k -> Type # Methods from1 :: Complex a -> Rep1 Complex a # to1 :: Rep1 Complex a -> Complex a #
Category Op # |
Instance details Defined in Data.Functor.Contravariant Methods id :: Op a a # (.) :: Op b c -> Op a b -> Op a c #
Generic1 (Either a :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 (Either a) :: k -> Type # Methods from1 :: Either a a0 -> Rep1 (Either a) a0 # to1 :: Rep1 (Either a) a0 -> Either a a0 #
Generic1 ((,) a :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,) a) :: k -> Type # Methods from1 :: (a, a0) -> Rep1 ((,) a) a0 # to1 :: Rep1 ((,) a) a0 -> (a, a0) #
Generic1 (WrappedMonad m :: Type -> Type) # |
Instance details Defined in Control.Applicative Associated Types type Rep1 (WrappedMonad m) :: k -> Type # Methods from1 :: WrappedMonad m a -> Rep1 (WrappedMonad m) a # to1 :: Rep1 (WrappedMonad m) a -> WrappedMonad m a #
Generic1 (Arg a :: Type -> Type) # |
Instance details Defined in Data.Semigroup Associated Types type Rep1 (Arg a) :: k -> Type # Methods from1 :: Arg a a0 -> Rep1 (Arg a) a0 # to1 :: Rep1 (Arg a) a0 -> Arg a a0 #
Monad m => Category (Kleisli m :: Type -> Type -> Type) # | Since: base-3.0
Instance details Defined in Control.Arrow Methods id :: Kleisli m a a # (.) :: Kleisli m b c -> Kleisli m a b -> Kleisli m a c #
Generic1 ((,,) a b :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,,) a b) :: k -> Type # Methods from1 :: (a, b, a0) -> Rep1 ((,,) a b) a0 # to1 :: Rep1 ((,,) a b) a0 -> (a, b, a0) #
Generic1 (WrappedArrow a b :: Type -> Type) # |
Instance details Defined in Control.Applicative Associated Types type Rep1 (WrappedArrow a b) :: k -> Type # Methods from1 :: WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 # to1 :: Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0 #
Category ((->) :: Type -> Type -> Type) # | Since: base-3.0
Instance details Defined in Control.Category Methods id :: a -> a # (.) :: (b -> c) -> (a -> b) -> a -> c #
Generic1 ((,,,) a b c :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,,,) a b c) :: k -> Type # Methods from1 :: (a, b, c, a0) -> Rep1 ((,,,) a b c) a0 # to1 :: Rep1 ((,,,) a b c) a0 -> (a, b, c, a0) #
Generic1 ((,,,,) a b c d :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,,,,) a b c d) :: k -> Type # Methods from1 :: (a, b, c, d, a0) -> Rep1 ((,,,,) a b c d) a0 # to1 :: Rep1 ((,,,,) a b c d) a0 -> (a, b, c, d, a0) #
Generic1 ((,,,,,) a b c d e :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,,,,,) a b c d e) :: k -> Type # Methods from1 :: (a, b, c, d, e, a0) -> Rep1 ((,,,,,) a b c d e) a0 # to1 :: Rep1 ((,,,,,) a b c d e) a0 -> (a, b, c, d, e, a0) #
Generic1 ((,,,,,,) a b c d e f :: Type -> Type) # |
Instance details Defined in GHC.Generics Associated Types type Rep1 ((,,,,,,) a b c d e f) :: k -> Type # Methods from1 :: (a, b, c, d, e, f, a0) -> Rep1 ((,,,,,,) a b c d e f) a0 # to1 :: Rep1 ((,,,,,,) a b c d e f) a0 -> (a, b, c, d, e, f, a0) #
Monad f => Monad (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b # (>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b # return :: a -> Rec1 f a # fail :: String -> Rec1 f a #
Monad f => Monad (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods (>>=) :: Alt f a -> (a -> Alt f b) -> Alt f b # (>>) :: Alt f a -> Alt f b -> Alt f b # return :: a -> Alt f a # fail :: String -> Alt f a #
Monad f => Monad (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods (>>=) :: Ap f a -> (a -> Ap f b) -> Ap f b # (>>) :: Ap f a -> Ap f b -> Ap f b # return :: a -> Ap f a # fail :: String -> Ap f a #
Data p => Data (V1 p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V1 p -> c (V1 p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 p) # toConstr :: V1 p -> Constr # dataTypeOf :: V1 p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 p)) # gmapT :: (forall b. Data b => b -> b) -> V1 p -> V1 p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 p -> r # gmapQ :: (forall d. Data d => d -> u) -> V1 p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 p -> m (V1 p) #
Data p => Data (U1 p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> U1 p -> c (U1 p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (U1 p) # toConstr :: U1 p -> Constr # dataTypeOf :: U1 p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (U1 p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (U1 p)) # gmapT :: (forall b. Data b => b -> b) -> U1 p -> U1 p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> U1 p -> r # gmapQ :: (forall d. Data d => d -> u) -> U1 p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> U1 p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> U1 p -> m (U1 p) #
Data t => Data (Proxy t) # | Since: base-4.7.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Proxy t -> c (Proxy t) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Proxy t) # toConstr :: Proxy t -> Constr # dataTypeOf :: Proxy t -> DataType # dataCast1 :: Typeable t0 => (forall d. Data d => c (t0 d)) -> Maybe (c (Proxy t)) # dataCast2 :: Typeable t0 => (forall d e. (Data d, Data e) => c (t0 d e)) -> Maybe (c (Proxy t)) # gmapT :: (forall b. Data b => b -> b) -> Proxy t -> Proxy t # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Proxy t -> r # gmapQ :: (forall d. Data d => d -> u) -> Proxy t -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Proxy t -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Proxy t -> m (Proxy t) #
Functor f => Functor (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> Rec1 f a -> Rec1 f b # (<$) :: a -> Rec1 f b -> Rec1 f a #
Functor (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Char a -> URec Char b # (<$) :: a -> URec Char b -> URec Char a #
Functor (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Double a -> URec Double b # (<$) :: a -> URec Double b -> URec Double a #
Functor (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Float a -> URec Float b # (<$) :: a -> URec Float b -> URec Float a #
Functor (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Int a -> URec Int b # (<$) :: a -> URec Int b -> URec Int a #
Functor (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Word a -> URec Word b # (<$) :: a -> URec Word b -> URec Word a #
Functor (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b # (<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #
Functor f => Functor (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods fmap :: (a -> b) -> Alt f a -> Alt f b # (<$) :: a -> Alt f b -> Alt f a #
Functor f => Functor (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods fmap :: (a -> b) -> Ap f a -> Ap f b # (<$) :: a -> Ap f b -> Ap f a #
Functor (Const m :: Type -> Type) # | Since: base-2.1
Instance details Defined in Data.Functor.Const Methods fmap :: (a -> b) -> Const m a -> Const m b # (<$) :: a -> Const m b -> Const m a #
MonadFix f => MonadFix (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> Rec1 f a) -> Rec1 f a #
MonadFix f => MonadFix (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> Alt f a) -> Alt f a #
MonadFix f => MonadFix (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> Ap f a) -> Ap f a #
MonadFail f => MonadFail (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods fail :: String -> Ap f a #
Applicative f => Applicative (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> Rec1 f a # (<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b # liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c # (*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b # (<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a #
Applicative f => Applicative (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods pure :: a -> Alt f a # (<*>) :: Alt f (a -> b) -> Alt f a -> Alt f b # liftA2 :: (a -> b -> c) -> Alt f a -> Alt f b -> Alt f c # (*>) :: Alt f a -> Alt f b -> Alt f b # (<*) :: Alt f a -> Alt f b -> Alt f a #
Applicative f => Applicative (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods pure :: a -> Ap f a # (<*>) :: Ap f (a -> b) -> Ap f a -> Ap f b # liftA2 :: (a -> b -> c) -> Ap f a -> Ap f b -> Ap f c # (*>) :: Ap f a -> Ap f b -> Ap f b # (<*) :: Ap f a -> Ap f b -> Ap f a #
Monoid m => Applicative (Const m :: Type -> Type) # | Since: base-2.0.1
Instance details Defined in Data.Functor.Const Methods pure :: a -> Const m a # (<*>) :: Const m (a -> b) -> Const m a -> Const m b # liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c # (*>) :: Const m a -> Const m b -> Const m b # (<*) :: Const m a -> Const m b -> Const m a #
Foldable f => Foldable (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Rec1 f m -> m # foldMap :: Monoid m => (a -> m) -> Rec1 f a -> m # foldr :: (a -> b -> b) -> b -> Rec1 f a -> b # foldr' :: (a -> b -> b) -> b -> Rec1 f a -> b # foldl :: (b -> a -> b) -> b -> Rec1 f a -> b # foldl' :: (b -> a -> b) -> b -> Rec1 f a -> b # foldr1 :: (a -> a -> a) -> Rec1 f a -> a # foldl1 :: (a -> a -> a) -> Rec1 f a -> a # toList :: Rec1 f a -> [a] # null :: Rec1 f a -> Bool # length :: Rec1 f a -> Int # elem :: Eq a => a -> Rec1 f a -> Bool # maximum :: Ord a => Rec1 f a -> a # minimum :: Ord a => Rec1 f a -> a # sum :: Num a => Rec1 f a -> a # product :: Num a => Rec1 f a -> a #
Foldable (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Char m -> m # foldMap :: Monoid m => (a -> m) -> URec Char a -> m # foldr :: (a -> b -> b) -> b -> URec Char a -> b # foldr' :: (a -> b -> b) -> b -> URec Char a -> b # foldl :: (b -> a -> b) -> b -> URec Char a -> b # foldl' :: (b -> a -> b) -> b -> URec Char a -> b # foldr1 :: (a -> a -> a) -> URec Char a -> a # foldl1 :: (a -> a -> a) -> URec Char a -> a # toList :: URec Char a -> [a] # null :: URec Char a -> Bool # length :: URec Char a -> Int # elem :: Eq a => a -> URec Char a -> Bool # maximum :: Ord a => URec Char a -> a # minimum :: Ord a => URec Char a -> a # sum :: Num a => URec Char a -> a # product :: Num a => URec Char a -> a #
Foldable (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Double m -> m # foldMap :: Monoid m => (a -> m) -> URec Double a -> m # foldr :: (a -> b -> b) -> b -> URec Double a -> b # foldr' :: (a -> b -> b) -> b -> URec Double a -> b # foldl :: (b -> a -> b) -> b -> URec Double a -> b # foldl' :: (b -> a -> b) -> b -> URec Double a -> b # foldr1 :: (a -> a -> a) -> URec Double a -> a # foldl1 :: (a -> a -> a) -> URec Double a -> a # toList :: URec Double a -> [a] # null :: URec Double a -> Bool # length :: URec Double a -> Int # elem :: Eq a => a -> URec Double a -> Bool # maximum :: Ord a => URec Double a -> a # minimum :: Ord a => URec Double a -> a # sum :: Num a => URec Double a -> a # product :: Num a => URec Double a -> a #
Foldable (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Float m -> m # foldMap :: Monoid m => (a -> m) -> URec Float a -> m # foldr :: (a -> b -> b) -> b -> URec Float a -> b # foldr' :: (a -> b -> b) -> b -> URec Float a -> b # foldl :: (b -> a -> b) -> b -> URec Float a -> b # foldl' :: (b -> a -> b) -> b -> URec Float a -> b # foldr1 :: (a -> a -> a) -> URec Float a -> a # foldl1 :: (a -> a -> a) -> URec Float a -> a # toList :: URec Float a -> [a] # null :: URec Float a -> Bool # length :: URec Float a -> Int # elem :: Eq a => a -> URec Float a -> Bool # maximum :: Ord a => URec Float a -> a # minimum :: Ord a => URec Float a -> a # sum :: Num a => URec Float a -> a # product :: Num a => URec Float a -> a #
Foldable (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Int m -> m # foldMap :: Monoid m => (a -> m) -> URec Int a -> m # foldr :: (a -> b -> b) -> b -> URec Int a -> b # foldr' :: (a -> b -> b) -> b -> URec Int a -> b # foldl :: (b -> a -> b) -> b -> URec Int a -> b # foldl' :: (b -> a -> b) -> b -> URec Int a -> b # foldr1 :: (a -> a -> a) -> URec Int a -> a # foldl1 :: (a -> a -> a) -> URec Int a -> a # toList :: URec Int a -> [a] # null :: URec Int a -> Bool # length :: URec Int a -> Int # elem :: Eq a => a -> URec Int a -> Bool # maximum :: Ord a => URec Int a -> a # minimum :: Ord a => URec Int a -> a # sum :: Num a => URec Int a -> a # product :: Num a => URec Int a -> a #
Foldable (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec Word m -> m # foldMap :: Monoid m => (a -> m) -> URec Word a -> m # foldr :: (a -> b -> b) -> b -> URec Word a -> b # foldr' :: (a -> b -> b) -> b -> URec Word a -> b # foldl :: (b -> a -> b) -> b -> URec Word a -> b # foldl' :: (b -> a -> b) -> b -> URec Word a -> b # foldr1 :: (a -> a -> a) -> URec Word a -> a # foldl1 :: (a -> a -> a) -> URec Word a -> a # toList :: URec Word a -> [a] # null :: URec Word a -> Bool # length :: URec Word a -> Int # elem :: Eq a => a -> URec Word a -> Bool # maximum :: Ord a => URec Word a -> a # minimum :: Ord a => URec Word a -> a # sum :: Num a => URec Word a -> a # product :: Num a => URec Word a -> a #
Foldable (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => URec (Ptr ()) m -> m # foldMap :: Monoid m => (a -> m) -> URec (Ptr ()) a -> m # foldr :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b # foldr' :: (a -> b -> b) -> b -> URec (Ptr ()) a -> b # foldl :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b # foldl' :: (b -> a -> b) -> b -> URec (Ptr ()) a -> b # foldr1 :: (a -> a -> a) -> URec (Ptr ()) a -> a # foldl1 :: (a -> a -> a) -> URec (Ptr ()) a -> a # toList :: URec (Ptr ()) a -> [a] # null :: URec (Ptr ()) a -> Bool # length :: URec (Ptr ()) a -> Int # elem :: Eq a => a -> URec (Ptr ()) a -> Bool # maximum :: Ord a => URec (Ptr ()) a -> a # minimum :: Ord a => URec (Ptr ()) a -> a # sum :: Num a => URec (Ptr ()) a -> a # product :: Num a => URec (Ptr ()) a -> a #
Foldable f => Foldable (Alt f) # | Since: base-4.12.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Alt f m -> m # foldMap :: Monoid m => (a -> m) -> Alt f a -> m # foldr :: (a -> b -> b) -> b -> Alt f a -> b # foldr' :: (a -> b -> b) -> b -> Alt f a -> b # foldl :: (b -> a -> b) -> b -> Alt f a -> b # foldl' :: (b -> a -> b) -> b -> Alt f a -> b # foldr1 :: (a -> a -> a) -> Alt f a -> a # foldl1 :: (a -> a -> a) -> Alt f a -> a # toList :: Alt f a -> [a] # null :: Alt f a -> Bool # length :: Alt f a -> Int # elem :: Eq a => a -> Alt f a -> Bool # maximum :: Ord a => Alt f a -> a # minimum :: Ord a => Alt f a -> a # sum :: Num a => Alt f a -> a # product :: Num a => Alt f a -> a #
Foldable f => Foldable (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Ap f m -> m # foldMap :: Monoid m => (a -> m) -> Ap f a -> m # foldr :: (a -> b -> b) -> b -> Ap f a -> b # foldr' :: (a -> b -> b) -> b -> Ap f a -> b # foldl :: (b -> a -> b) -> b -> Ap f a -> b # foldl' :: (b -> a -> b) -> b -> Ap f a -> b # foldr1 :: (a -> a -> a) -> Ap f a -> a # foldl1 :: (a -> a -> a) -> Ap f a -> a # toList :: Ap f a -> [a] # null :: Ap f a -> Bool # length :: Ap f a -> Int # elem :: Eq a => a -> Ap f a -> Bool # maximum :: Ord a => Ap f a -> a # minimum :: Ord a => Ap f a -> a # sum :: Num a => Ap f a -> a # product :: Num a => Ap f a -> a #
Foldable (Const m :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Functor.Const Methods fold :: Monoid m0 => Const m m0 -> m0 # foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 # foldr :: (a -> b -> b) -> b -> Const m a -> b # foldr' :: (a -> b -> b) -> b -> Const m a -> b # foldl :: (b -> a -> b) -> b -> Const m a -> b # foldl' :: (b -> a -> b) -> b -> Const m a -> b # foldr1 :: (a -> a -> a) -> Const m a -> a # foldl1 :: (a -> a -> a) -> Const m a -> a # toList :: Const m a -> [a] # null :: Const m a -> Bool # length :: Const m a -> Int # elem :: Eq a => a -> Const m a -> Bool # maximum :: Ord a => Const m a -> a # minimum :: Ord a => Const m a -> a # sum :: Num a => Const m a -> a # product :: Num a => Const m a -> a #
Traversable f => Traversable (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> Rec1 f a -> f0 (Rec1 f b) # sequenceA :: Applicative f0 => Rec1 f (f0 a) -> f0 (Rec1 f a) # mapM :: Monad m => (a -> m b) -> Rec1 f a -> m (Rec1 f b) # sequence :: Monad m => Rec1 f (m a) -> m (Rec1 f a) #
Traversable (URec Char :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Char a -> f (URec Char b) # sequenceA :: Applicative f => URec Char (f a) -> f (URec Char a) # mapM :: Monad m => (a -> m b) -> URec Char a -> m (URec Char b) # sequence :: Monad m => URec Char (m a) -> m (URec Char a) #
Traversable (URec Double :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Double a -> f (URec Double b) # sequenceA :: Applicative f => URec Double (f a) -> f (URec Double a) # mapM :: Monad m => (a -> m b) -> URec Double a -> m (URec Double b) # sequence :: Monad m => URec Double (m a) -> m (URec Double a) #
Traversable (URec Float :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Float a -> f (URec Float b) # sequenceA :: Applicative f => URec Float (f a) -> f (URec Float a) # mapM :: Monad m => (a -> m b) -> URec Float a -> m (URec Float b) # sequence :: Monad m => URec Float (m a) -> m (URec Float a) #
Traversable (URec Int :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Int a -> f (URec Int b) # sequenceA :: Applicative f => URec Int (f a) -> f (URec Int a) # mapM :: Monad m => (a -> m b) -> URec Int a -> m (URec Int b) # sequence :: Monad m => URec Int (m a) -> m (URec Int a) #
Traversable (URec Word :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec Word a -> f (URec Word b) # sequenceA :: Applicative f => URec Word (f a) -> f (URec Word a) # mapM :: Monad m => (a -> m b) -> URec Word a -> m (URec Word b) # sequence :: Monad m => URec Word (m a) -> m (URec Word a) #
Traversable (URec (Ptr ()) :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> URec (Ptr ()) a -> f (URec (Ptr ()) b) # sequenceA :: Applicative f => URec (Ptr ()) (f a) -> f (URec (Ptr ()) a) # mapM :: Monad m => (a -> m b) -> URec (Ptr ()) a -> m (URec (Ptr ()) b) # sequence :: Monad m => URec (Ptr ()) (m a) -> m (URec (Ptr ()) a) #
Traversable f => Traversable (Alt f) # | Since: base-4.12.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> Alt f a -> f0 (Alt f b) # sequenceA :: Applicative f0 => Alt f (f0 a) -> f0 (Alt f a) # mapM :: Monad m => (a -> m b) -> Alt f a -> m (Alt f b) # sequence :: Monad m => Alt f (m a) -> m (Alt f a) #
Traversable f => Traversable (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> Ap f a -> f0 (Ap f b) # sequenceA :: Applicative f0 => Ap f (f0 a) -> f0 (Ap f a) # mapM :: Monad m => (a -> m b) -> Ap f a -> m (Ap f b) # sequence :: Monad m => Ap f (m a) -> m (Ap f a) #
Traversable (Const m :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Const m a -> f (Const m b) # sequenceA :: Applicative f => Const m (f a) -> f (Const m a) # mapM :: Monad m0 => (a -> m0 b) -> Const m a -> m0 (Const m b) # sequence :: Monad m0 => Const m (m0 a) -> m0 (Const m a) #
MonadPlus f => MonadPlus (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods mzero :: Rec1 f a # mplus :: Rec1 f a -> Rec1 f a -> Rec1 f a #
MonadPlus f => MonadPlus (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods mzero :: Alt f a # mplus :: Alt f a -> Alt f a -> Alt f a #
MonadPlus f => MonadPlus (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods mzero :: Ap f a # mplus :: Ap f a -> Ap f a -> Ap f a #
Alternative f => Alternative (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods empty :: Rec1 f a # (<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a # some :: Rec1 f a -> Rec1 f [a] # many :: Rec1 f a -> Rec1 f [a] #
Alternative f => Alternative (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods empty :: Alt f a # (<|>) :: Alt f a -> Alt f a -> Alt f a # some :: Alt f a -> Alt f [a] # many :: Alt f a -> Alt f [a] #
Alternative f => Alternative (Ap f) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods empty :: Ap f a # (<|>) :: Ap f a -> Ap f a -> Ap f a # some :: Ap f a -> Ap f [a] # many :: Ap f a -> Ap f [a] #
MonadZip f => MonadZip (Rec1 f) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: Rec1 f a -> Rec1 f b -> Rec1 f (a, b) # mzipWith :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c # munzip :: Rec1 f (a, b) -> (Rec1 f a, Rec1 f b) #
MonadZip f => MonadZip (Alt f) # | Since: base-4.8.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: Alt f a -> Alt f b -> Alt f (a, b) # mzipWith :: (a -> b -> c) -> Alt f a -> Alt f b -> Alt f c # munzip :: Alt f (a, b) -> (Alt f a, Alt f b) #
Show a => Show1 (Const a :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftShowsPrec :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> Int -> Const a a0 -> ShowS # liftShowList :: (Int -> a0 -> ShowS) -> ([a0] -> ShowS) -> [Const a a0] -> ShowS #
Read a => Read1 (Const a :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a0) -> ReadS [a0] -> Int -> ReadS (Const a a0) # liftReadList :: (Int -> ReadS a0) -> ReadS [a0] -> ReadS [Const a a0] # liftReadPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec (Const a a0) # liftReadListPrec :: ReadPrec a0 -> ReadPrec [a0] -> ReadPrec [Const a a0] #
Ord a => Ord1 (Const a :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftCompare :: (a0 -> b -> Ordering) -> Const a a0 -> Const a b -> Ordering #
Eq a => Eq1 (Const a :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Classes Methods liftEq :: (a0 -> b -> Bool) -> Const a a0 -> Const a b -> Bool #
Bifunctor (K1 i :: Type -> Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Bifunctor Methods bimap :: (a -> b) -> (c -> d) -> K1 i a c -> K1 i b d # first :: (a -> b) -> K1 i a c -> K1 i b c # second :: (b -> c) -> K1 i a b -> K1 i a c #
Bifoldable (K1 i :: Type -> Type -> Type) # | Since: base-4.10.0.0
Instance details Defined in Data.Bifoldable Methods bifold :: Monoid m => K1 i m m -> m # bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> K1 i a b -> m # bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> K1 i a b -> c # bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> K1 i a b -> c #
Bitraversable (K1 i :: Type -> Type -> Type) # | Since: base-4.10.0.0
Instance details Defined in Data.Bitraversable Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> K1 i a b -> f (K1 i c d) #
Contravariant f => Contravariant (Rec1 f) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Rec1 f b -> Rec1 f a # (>$) :: b -> Rec1 f b -> Rec1 f a #
Contravariant f => Contravariant (Alt f) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Alt f b -> Alt f a # (>$) :: b -> Alt f b -> Alt f a #
Contravariant (Const a :: Type -> Type) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a0 -> b) -> Const a b -> Const a a0 # (>$) :: b -> Const a b -> Const a a0 #
(Applicative f, Bounded a) => Bounded (Ap f a) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods minBound :: Ap f a # maxBound :: Ap f a #
(Monad f, Monad g) => Monad (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b # (>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b # return :: a -> (f :*: g) a # fail :: String -> (f :*: g) a #
(Monad f, Monad g) => Monad (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods (>>=) :: Product f g a -> (a -> Product f g b) -> Product f g b # (>>) :: Product f g a -> Product f g b -> Product f g b # return :: a -> Product f g a # fail :: String -> Product f g a #
(Data (f p), Typeable f, Data p) => Data (Rec1 f p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rec1 f p -> c (Rec1 f p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Rec1 f p) # toConstr :: Rec1 f p -> Constr # dataTypeOf :: Rec1 f p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Rec1 f p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Rec1 f p)) # gmapT :: (forall b. Data b => b -> b) -> Rec1 f p -> Rec1 f p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rec1 f p -> r # gmapQ :: (forall d. Data d => d -> u) -> Rec1 f p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Rec1 f p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rec1 f p -> m (Rec1 f p) #
(a ~ b, Data a) => Data (a :~: b) # | Since: base-4.7.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a :~: b) -> c (a :~: b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a :~: b) # toConstr :: (a :~: b) -> Constr # dataTypeOf :: (a :~: b) -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a :~: b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a :~: b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a :~: b) -> a :~: b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a :~: b) -> r # gmapQ :: (forall d. Data d => d -> u) -> (a :~: b) -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> (a :~: b) -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~: b) -> m (a :~: b) #
(Coercible a b, Data a, Data b) => Data (Coercion a b) # | Since: base-4.7.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Coercion a b -> c (Coercion a b) # gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Coercion a b) # toConstr :: Coercion a b -> Constr # dataTypeOf :: Coercion a b -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Coercion a b)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Coercion a b)) # gmapT :: (forall b0. Data b0 => b0 -> b0) -> Coercion a b -> Coercion a b # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r # gmapQ :: (forall d. Data d => d -> u) -> Coercion a b -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Coercion a b -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b) #
(Data (f a), Data a, Typeable f) => Data (Alt f a) # | Since: base-4.8.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Alt f a -> c (Alt f a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Alt f a) # toConstr :: Alt f a -> Constr # dataTypeOf :: Alt f a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Alt f a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Alt f a)) # gmapT :: (forall b. Data b => b -> b) -> Alt f a -> Alt f a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r # gmapQ :: (forall d. Data d => d -> u) -> Alt f a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Alt f a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) #
(Data (f a), Data a, Typeable f) => Data (Ap f a) # | Since: base-4.12.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ap f a -> c (Ap f a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ap f a) # toConstr :: Ap f a -> Constr # dataTypeOf :: Ap f a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ap f a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ap f a)) # gmapT :: (forall b. Data b => b -> b) -> Ap f a -> Ap f a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r # gmapQ :: (forall d. Data d => d -> u) -> Ap f a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ap f a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) #
Functor (K1 i c :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> K1 i c a -> K1 i c b # (<$) :: a -> K1 i c b -> K1 i c a #
(Functor f, Functor g) => Functor (f :+: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b # (<$) :: a -> (f :+: g) b -> (f :+: g) a #
(Functor f, Functor g) => Functor (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :*: g) a -> (f :*: g) b # (<$) :: a -> (f :*: g) b -> (f :*: g) a #
(Functor f, Functor g) => Functor (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods fmap :: (a -> b) -> Sum f g a -> Sum f g b # (<$) :: a -> Sum f g b -> Sum f g a #
(Functor f, Functor g) => Functor (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods fmap :: (a -> b) -> Product f g a -> Product f g b # (<$) :: a -> Product f g b -> Product f g a #
(Applicative f, Num a) => Num (Ap f a) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods (+) :: Ap f a -> Ap f a -> Ap f a # (-) :: Ap f a -> Ap f a -> Ap f a # (*) :: Ap f a -> Ap f a -> Ap f a # negate :: Ap f a -> Ap f a # abs :: Ap f a -> Ap f a # signum :: Ap f a -> Ap f a # fromInteger :: Integer -> Ap f a #
(MonadFix f, MonadFix g) => MonadFix (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> (f :*: g) a) -> (f :*: g) a #
(MonadFix f, MonadFix g) => MonadFix (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods mfix :: (a -> Product f g a) -> Product f g a #
IsString a => IsString (Const a b) # | Since: base-4.9.0.0
Instance details Defined in Data.String Methods fromString :: String -> Const a b #
Monoid c => Applicative (K1 i c :: Type -> Type) # | Since: base-4.12.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> K1 i c a # (<*>) :: K1 i c (a -> b) -> K1 i c a -> K1 i c b # liftA2 :: (a -> b -> c0) -> K1 i c a -> K1 i c b -> K1 i c c0 # (*>) :: K1 i c a -> K1 i c b -> K1 i c b # (<*) :: K1 i c a -> K1 i c b -> K1 i c a #
(Applicative f, Applicative g) => Applicative (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> (f :*: g) a # (<*>) :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b # liftA2 :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c # (*>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b # (<*) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) a #
(Applicative f, Applicative g) => Applicative (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods pure :: a -> Product f g a # (<*>) :: Product f g (a -> b) -> Product f g a -> Product f g b # liftA2 :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c # (*>) :: Product f g a -> Product f g b -> Product f g b # (<*) :: Product f g a -> Product f g b -> Product f g a #
Foldable (K1 i c :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => K1 i c m -> m # foldMap :: Monoid m => (a -> m) -> K1 i c a -> m # foldr :: (a -> b -> b) -> b -> K1 i c a -> b # foldr' :: (a -> b -> b) -> b -> K1 i c a -> b # foldl :: (b -> a -> b) -> b -> K1 i c a -> b # foldl' :: (b -> a -> b) -> b -> K1 i c a -> b # foldr1 :: (a -> a -> a) -> K1 i c a -> a # foldl1 :: (a -> a -> a) -> K1 i c a -> a # toList :: K1 i c a -> [a] # null :: K1 i c a -> Bool # length :: K1 i c a -> Int # elem :: Eq a => a -> K1 i c a -> Bool # maximum :: Ord a => K1 i c a -> a # minimum :: Ord a => K1 i c a -> a # sum :: Num a => K1 i c a -> a # product :: Num a => K1 i c a -> a #
(Foldable f, Foldable g) => Foldable (f :+: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => (f :+: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :+: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :+: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :+: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :+: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :+: g) a -> b # foldr1 :: (a -> a -> a) -> (f :+: g) a -> a # foldl1 :: (a -> a -> a) -> (f :+: g) a -> a # toList :: (f :+: g) a -> [a] # null :: (f :+: g) a -> Bool # length :: (f :+: g) a -> Int # elem :: Eq a => a -> (f :+: g) a -> Bool # maximum :: Ord a => (f :+: g) a -> a # minimum :: Ord a => (f :+: g) a -> a # sum :: Num a => (f :+: g) a -> a # product :: Num a => (f :+: g) a -> a #
(Foldable f, Foldable g) => Foldable (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => (f :*: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :*: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :*: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :*: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :*: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :*: g) a -> b # foldr1 :: (a -> a -> a) -> (f :*: g) a -> a # foldl1 :: (a -> a -> a) -> (f :*: g) a -> a # toList :: (f :*: g) a -> [a] # null :: (f :*: g) a -> Bool # length :: (f :*: g) a -> Int # elem :: Eq a => a -> (f :*: g) a -> Bool # maximum :: Ord a => (f :*: g) a -> a # minimum :: Ord a => (f :*: g) a -> a # sum :: Num a => (f :*: g) a -> a # product :: Num a => (f :*: g) a -> a #
(Foldable f, Foldable g) => Foldable (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods fold :: Monoid m => Sum f g m -> m # foldMap :: Monoid m => (a -> m) -> Sum f g a -> m # foldr :: (a -> b -> b) -> b -> Sum f g a -> b # foldr' :: (a -> b -> b) -> b -> Sum f g a -> b # foldl :: (b -> a -> b) -> b -> Sum f g a -> b # foldl' :: (b -> a -> b) -> b -> Sum f g a -> b # foldr1 :: (a -> a -> a) -> Sum f g a -> a # foldl1 :: (a -> a -> a) -> Sum f g a -> a # toList :: Sum f g a -> [a] # null :: Sum f g a -> Bool # length :: Sum f g a -> Int # elem :: Eq a => a -> Sum f g a -> Bool # maximum :: Ord a => Sum f g a -> a # minimum :: Ord a => Sum f g a -> a # sum :: Num a => Sum f g a -> a # product :: Num a => Sum f g a -> a #
(Foldable f, Foldable g) => Foldable (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods fold :: Monoid m => Product f g m -> m # foldMap :: Monoid m => (a -> m) -> Product f g a -> m # foldr :: (a -> b -> b) -> b -> Product f g a -> b # foldr' :: (a -> b -> b) -> b -> Product f g a -> b # foldl :: (b -> a -> b) -> b -> Product f g a -> b # foldl' :: (b -> a -> b) -> b -> Product f g a -> b # foldr1 :: (a -> a -> a) -> Product f g a -> a # foldl1 :: (a -> a -> a) -> Product f g a -> a # toList :: Product f g a -> [a] # null :: Product f g a -> Bool # length :: Product f g a -> Int # elem :: Eq a => a -> Product f g a -> Bool # maximum :: Ord a => Product f g a -> a # minimum :: Ord a => Product f g a -> a # sum :: Num a => Product f g a -> a # product :: Num a => Product f g a -> a #
Traversable (K1 i c :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> K1 i c a -> f (K1 i c b) # sequenceA :: Applicative f => K1 i c (f a) -> f (K1 i c a) # mapM :: Monad m => (a -> m b) -> K1 i c a -> m (K1 i c b) # sequence :: Monad m => K1 i c (m a) -> m (K1 i c a) #
(Traversable f, Traversable g) => Traversable (f :+: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> (f :+: g) a -> f0 ((f :+: g) b) # sequenceA :: Applicative f0 => (f :+: g) (f0 a) -> f0 ((f :+: g) a) # mapM :: Monad m => (a -> m b) -> (f :+: g) a -> m ((f :+: g) b) # sequence :: Monad m => (f :+: g) (m a) -> m ((f :+: g) a) #
(Traversable f, Traversable g) => Traversable (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> (f :*: g) a -> f0 ((f :*: g) b) # sequenceA :: Applicative f0 => (f :*: g) (f0 a) -> f0 ((f :*: g) a) # mapM :: Monad m => (a -> m b) -> (f :*: g) a -> m ((f :*: g) b) # sequence :: Monad m => (f :*: g) (m a) -> m ((f :*: g) a) #
(Traversable f, Traversable g) => Traversable (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods traverse :: Applicative f0 => (a -> f0 b) -> Sum f g a -> f0 (Sum f g b) # sequenceA :: Applicative f0 => Sum f g (f0 a) -> f0 (Sum f g a) # mapM :: Monad m => (a -> m b) -> Sum f g a -> m (Sum f g b) # sequence :: Monad m => Sum f g (m a) -> m (Sum f g a) #
(Traversable f, Traversable g) => Traversable (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods traverse :: Applicative f0 => (a -> f0 b) -> Product f g a -> f0 (Product f g b) # sequenceA :: Applicative f0 => Product f g (f0 a) -> f0 (Product f g a) # mapM :: Monad m => (a -> m b) -> Product f g a -> m (Product f g b) # sequence :: Monad m => Product f g (m a) -> m (Product f g a) #
Alternative f => Semigroup (Alt f a) # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup.Internal Methods (<>) :: Alt f a -> Alt f a -> Alt f a # sconcat :: NonEmpty (Alt f a) -> Alt f a # stimes :: Integral b => b -> Alt f a -> Alt f a #
(Applicative f, Semigroup a) => Semigroup (Ap f a) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods (<>) :: Ap f a -> Ap f a -> Ap f a # sconcat :: NonEmpty (Ap f a) -> Ap f a # stimes :: Integral b => b -> Ap f a -> Ap f a #
Alternative f => Monoid (Alt f a) # | Since: base-4.8.0.0
Instance details Defined in Data.Semigroup.Internal Methods mempty :: Alt f a # mappend :: Alt f a -> Alt f a -> Alt f a # mconcat :: [Alt f a] -> Alt f a #
(Applicative f, Monoid a) => Monoid (Ap f a) # | Since: base-4.12.0.0
Instance details Defined in Data.Monoid Methods mempty :: Ap f a # mappend :: Ap f a -> Ap f a -> Ap f a # mconcat :: [Ap f a] -> Ap f a #
(MonadPlus f, MonadPlus g) => MonadPlus (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods mzero :: (f :*: g) a # mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a #
(MonadPlus f, MonadPlus g) => MonadPlus (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods mzero :: Product f g a # mplus :: Product f g a -> Product f g a -> Product f g a #
(Alternative f, Alternative g) => Alternative (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods empty :: (f :*: g) a # (<|>) :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a # some :: (f :*: g) a -> (f :*: g) [a] # many :: (f :*: g) a -> (f :*: g) [a] #
(Alternative f, Alternative g) => Alternative (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods empty :: Product f g a # (<|>) :: Product f g a -> Product f g a -> Product f g a # some :: Product f g a -> Product f g [a] # many :: Product f g a -> Product f g [a] #
(MonadZip f, MonadZip g) => MonadZip (f :*: g) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) # mzipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c # munzip :: (f :*: g) (a, b) -> ((f :*: g) a, (f :*: g) b) #
(MonadZip f, MonadZip g) => MonadZip (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods mzip :: Product f g a -> Product f g b -> Product f g (a, b) # mzipWith :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c # munzip :: Product f g (a, b) -> (Product f g a, Product f g b) #
(Show1 f, Show1 g) => Show1 (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Sum f g a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Sum f g a] -> ShowS #
(Show1 f, Show1 g) => Show1 (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Product f g a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Product f g a] -> ShowS #
(Read1 f, Read1 g) => Read1 (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Sum f g a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Sum f g a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Sum f g a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Sum f g a] #
(Read1 f, Read1 g) => Read1 (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Product f g a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Product f g a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Product f g a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Product f g a] #
(Ord1 f, Ord1 g) => Ord1 (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods liftCompare :: (a -> b -> Ordering) -> Sum f g a -> Sum f g b -> Ordering #
(Ord1 f, Ord1 g) => Ord1 (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods liftCompare :: (a -> b -> Ordering) -> Product f g a -> Product f g b -> Ordering #
(Eq1 f, Eq1 g) => Eq1 (Sum f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods liftEq :: (a -> b -> Bool) -> Sum f g a -> Sum f g b -> Bool #
(Eq1 f, Eq1 g) => Eq1 (Product f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods liftEq :: (a -> b -> Bool) -> Product f g a -> Product f g b -> Bool #
Contravariant (K1 i c :: Type -> Type) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> K1 i c b -> K1 i c a # (>$) :: b -> K1 i c b -> K1 i c a #
(Contravariant f, Contravariant g) => Contravariant (f :+: g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> (f :+: g) b -> (f :+: g) a # (>$) :: b -> (f :+: g) b -> (f :+: g) a #
(Contravariant f, Contravariant g) => Contravariant (f :*: g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> (f :*: g) b -> (f :*: g) a # (>$) :: b -> (f :*: g) b -> (f :*: g) a #
(Contravariant f, Contravariant g) => Contravariant (Sum f g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Sum f g b -> Sum f g a # (>$) :: b -> Sum f g b -> Sum f g a #
(Contravariant f, Contravariant g) => Contravariant (Product f g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Product f g b -> Product f g a # (>$) :: b -> Product f g b -> Product f g a #
(Eq1 f, Eq1 g, Eq a) => Eq (Sum f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods (==) :: Sum f g a -> Sum f g a -> Bool Source # (/=) :: Sum f g a -> Sum f g a -> Bool Source #
(Eq1 f, Eq1 g, Eq a) => Eq (Product f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods (==) :: Product f g a -> Product f g a -> Bool Source # (/=) :: Product f g a -> Product f g a -> Bool Source #
Monad f => Monad (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods (>>=) :: M1 i c f a -> (a -> M1 i c f b) -> M1 i c f b # (>>) :: M1 i c f a -> M1 i c f b -> M1 i c f b # return :: a -> M1 i c f a # fail :: String -> M1 i c f a #
(Typeable i, Data p, Data c) => Data (K1 i c p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> K1 i c p -> c0 (K1 i c p) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (K1 i c p) # toConstr :: K1 i c p -> Constr # dataTypeOf :: K1 i c p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (K1 i c p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (K1 i c p)) # gmapT :: (forall b. Data b => b -> b) -> K1 i c p -> K1 i c p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> K1 i c p -> r # gmapQ :: (forall d. Data d => d -> u) -> K1 i c p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> K1 i c p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> K1 i c p -> m (K1 i c p) #
(Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :+: g) p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :+: g) p -> c ((f :+: g) p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :+: g) p) # toConstr :: (f :+: g) p -> Constr # dataTypeOf :: (f :+: g) p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :+: g) p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :+: g) p)) # gmapT :: (forall b. Data b => b -> b) -> (f :+: g) p -> (f :+: g) p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :+: g) p -> r # gmapQ :: (forall d. Data d => d -> u) -> (f :+: g) p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :+: g) p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :+: g) p -> m ((f :+: g) p) #
(Typeable f, Typeable g, Data p, Data (f p), Data (g p)) => Data ((f :*: g) p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :*: g) p -> c ((f :*: g) p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :*: g) p) # toConstr :: (f :*: g) p -> Constr # dataTypeOf :: (f :*: g) p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :*: g) p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :*: g) p)) # gmapT :: (forall b. Data b => b -> b) -> (f :*: g) p -> (f :*: g) p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :*: g) p -> r # gmapQ :: (forall d. Data d => d -> u) -> (f :*: g) p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :*: g) p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :*: g) p -> m ((f :*: g) p) #
Functor f => Functor (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> M1 i c f a -> M1 i c f b # (<$) :: a -> M1 i c f b -> M1 i c f a #
(Functor f, Functor g) => Functor (f :.: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b # (<$) :: a -> (f :.: g) b -> (f :.: g) a #
(Functor f, Functor g) => Functor (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods fmap :: (a -> b) -> Compose f g a -> Compose f g b # (<$) :: a -> Compose f g b -> Compose f g a #
(Ord1 f, Ord1 g, Ord a) => Ord (Sum f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods compare :: Sum f g a -> Sum f g a -> Ordering Source # (<) :: Sum f g a -> Sum f g a -> Bool Source # (<=) :: Sum f g a -> Sum f g a -> Bool Source # (>) :: Sum f g a -> Sum f g a -> Bool Source # (>=) :: Sum f g a -> Sum f g a -> Bool Source # max :: Sum f g a -> Sum f g a -> Sum f g a Source # min :: Sum f g a -> Sum f g a -> Sum f g a Source #
(Ord1 f, Ord1 g, Ord a) => Ord (Product f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods compare :: Product f g a -> Product f g a -> Ordering Source # (<) :: Product f g a -> Product f g a -> Bool Source # (<=) :: Product f g a -> Product f g a -> Bool Source # (>) :: Product f g a -> Product f g a -> Bool Source # (>=) :: Product f g a -> Product f g a -> Bool Source # max :: Product f g a -> Product f g a -> Product f g a Source # min :: Product f g a -> Product f g a -> Product f g a Source #
(Read1 f, Read1 g, Read a) => Read (Sum f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods readsPrec :: Int -> ReadS (Sum f g a) # readList :: ReadS [Sum f g a] # readPrec :: ReadPrec (Sum f g a) # readListPrec :: ReadPrec [Sum f g a] #
(Read1 f, Read1 g, Read a) => Read (Product f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods readsPrec :: Int -> ReadS (Product f g a) # readList :: ReadS [Product f g a] # readPrec :: ReadPrec (Product f g a) # readListPrec :: ReadPrec [Product f g a] #
(Show1 f, Show1 g, Show a) => Show (Sum f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Sum Methods showsPrec :: Int -> Sum f g a -> ShowS # show :: Sum f g a -> String # showList :: [Sum f g a] -> ShowS #
(Show1 f, Show1 g, Show a) => Show (Product f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Product Methods showsPrec :: Int -> Product f g a -> ShowS # show :: Product f g a -> String # showList :: [Product f g a] -> ShowS #
MonadFix f => MonadFix (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> M1 i c f a) -> M1 i c f a #
Applicative f => Applicative (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> M1 i c f a # (<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b # liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 # (*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b # (<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a #
(Applicative f, Applicative g) => Applicative (f :.: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods pure :: a -> (f :.: g) a # (<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b # liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c # (*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b # (<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a #
(Applicative f, Applicative g) => Applicative (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods pure :: a -> Compose f g a # (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b # liftA2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c # (*>) :: Compose f g a -> Compose f g b -> Compose f g b # (<*) :: Compose f g a -> Compose f g b -> Compose f g a #
Foldable f => Foldable (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => M1 i c f m -> m # foldMap :: Monoid m => (a -> m) -> M1 i c f a -> m # foldr :: (a -> b -> b) -> b -> M1 i c f a -> b # foldr' :: (a -> b -> b) -> b -> M1 i c f a -> b # foldl :: (b -> a -> b) -> b -> M1 i c f a -> b # foldl' :: (b -> a -> b) -> b -> M1 i c f a -> b # foldr1 :: (a -> a -> a) -> M1 i c f a -> a # foldl1 :: (a -> a -> a) -> M1 i c f a -> a # toList :: M1 i c f a -> [a] # null :: M1 i c f a -> Bool # length :: M1 i c f a -> Int # elem :: Eq a => a -> M1 i c f a -> Bool # maximum :: Ord a => M1 i c f a -> a # minimum :: Ord a => M1 i c f a -> a # sum :: Num a => M1 i c f a -> a # product :: Num a => M1 i c f a -> a #
(Foldable f, Foldable g) => Foldable (f :.: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => (f :.: g) m -> m # foldMap :: Monoid m => (a -> m) -> (f :.: g) a -> m # foldr :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldr' :: (a -> b -> b) -> b -> (f :.: g) a -> b # foldl :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldl' :: (b -> a -> b) -> b -> (f :.: g) a -> b # foldr1 :: (a -> a -> a) -> (f :.: g) a -> a # foldl1 :: (a -> a -> a) -> (f :.: g) a -> a # toList :: (f :.: g) a -> [a] # null :: (f :.: g) a -> Bool # length :: (f :.: g) a -> Int # elem :: Eq a => a -> (f :.: g) a -> Bool # maximum :: Ord a => (f :.: g) a -> a # minimum :: Ord a => (f :.: g) a -> a # sum :: Num a => (f :.: g) a -> a # product :: Num a => (f :.: g) a -> a #
(Foldable f, Foldable g) => Foldable (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods fold :: Monoid m => Compose f g m -> m # foldMap :: Monoid m => (a -> m) -> Compose f g a -> m # foldr :: (a -> b -> b) -> b -> Compose f g a -> b # foldr' :: (a -> b -> b) -> b -> Compose f g a -> b # foldl :: (b -> a -> b) -> b -> Compose f g a -> b # foldl' :: (b -> a -> b) -> b -> Compose f g a -> b # foldr1 :: (a -> a -> a) -> Compose f g a -> a # foldl1 :: (a -> a -> a) -> Compose f g a -> a # toList :: Compose f g a -> [a] # null :: Compose f g a -> Bool # length :: Compose f g a -> Int # elem :: Eq a => a -> Compose f g a -> Bool # maximum :: Ord a => Compose f g a -> a # minimum :: Ord a => Compose f g a -> a # sum :: Num a => Compose f g a -> a # product :: Num a => Compose f g a -> a #
Traversable f => Traversable (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> M1 i c f a -> f0 (M1 i c f b) # sequenceA :: Applicative f0 => M1 i c f (f0 a) -> f0 (M1 i c f a) # mapM :: Monad m => (a -> m b) -> M1 i c f a -> m (M1 i c f b) # sequence :: Monad m => M1 i c f (m a) -> m (M1 i c f a) #
(Traversable f, Traversable g) => Traversable (f :.: g) # | Since: base-4.9.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> (f :.: g) a -> f0 ((f :.: g) b) # sequenceA :: Applicative f0 => (f :.: g) (f0 a) -> f0 ((f :.: g) a) # mapM :: Monad m => (a -> m b) -> (f :.: g) a -> m ((f :.: g) b) # sequence :: Monad m => (f :.: g) (m a) -> m ((f :.: g) a) #
(Traversable f, Traversable g) => Traversable (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods traverse :: Applicative f0 => (a -> f0 b) -> Compose f g a -> f0 (Compose f g b) # sequenceA :: Applicative f0 => Compose f g (f0 a) -> f0 (Compose f g a) # mapM :: Monad m => (a -> m b) -> Compose f g a -> m (Compose f g b) # sequence :: Monad m => Compose f g (m a) -> m (Compose f g a) #
MonadPlus f => MonadPlus (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods mzero :: M1 i c f a # mplus :: M1 i c f a -> M1 i c f a -> M1 i c f a #
Alternative f => Alternative (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods empty :: M1 i c f a # (<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a # some :: M1 i c f a -> M1 i c f [a] # many :: M1 i c f a -> M1 i c f [a] #
(Alternative f, Applicative g) => Alternative (f :.: g) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics Methods empty :: (f :.: g) a # (<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a # some :: (f :.: g) a -> (f :.: g) [a] # many :: (f :.: g) a -> (f :.: g) [a] #
(Alternative f, Applicative g) => Alternative (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods empty :: Compose f g a # (<|>) :: Compose f g a -> Compose f g a -> Compose f g a # some :: Compose f g a -> Compose f g [a] # many :: Compose f g a -> Compose f g [a] #
MonadZip f => MonadZip (M1 i c f) # | Since: base-4.9.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: M1 i c f a -> M1 i c f b -> M1 i c f (a, b) # mzipWith :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 # munzip :: M1 i c f (a, b) -> (M1 i c f a, M1 i c f b) #
(Show1 f, Show1 g) => Show1 (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Compose f g a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Compose f g a] -> ShowS #
(Read1 f, Read1 g) => Read1 (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Compose f g a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Compose f g a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Compose f g a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Compose f g a] #
(Ord1 f, Ord1 g) => Ord1 (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods liftCompare :: (a -> b -> Ordering) -> Compose f g a -> Compose f g b -> Ordering #
(Eq1 f, Eq1 g) => Eq1 (Compose f g) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods liftEq :: (a -> b -> Bool) -> Compose f g a -> Compose f g b -> Bool #
Contravariant f => Contravariant (M1 i c f) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> M1 i c f b -> M1 i c f a # (>$) :: b -> M1 i c f b -> M1 i c f a #
(Functor f, Contravariant g) => Contravariant (f :.: g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> (f :.: g) b -> (f :.: g) a # (>$) :: b -> (f :.: g) b -> (f :.: g) a #
(Functor f, Contravariant g) => Contravariant (Compose f g) # |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a -> b) -> Compose f g b -> Compose f g a # (>$) :: b -> Compose f g b -> Compose f g a #
(Eq1 f, Eq1 g, Eq a) => Eq (Compose f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods (==) :: Compose f g a -> Compose f g a -> Bool Source # (/=) :: Compose f g a -> Compose f g a -> Bool Source #
(Data p, Data (f p), Typeable c, Typeable i, Typeable f) => Data (M1 i c f p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> M1 i c f p -> c0 (M1 i c f p) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (M1 i c f p) # toConstr :: M1 i c f p -> Constr # dataTypeOf :: M1 i c f p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (M1 i c f p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (M1 i c f p)) # gmapT :: (forall b. Data b => b -> b) -> M1 i c f p -> M1 i c f p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> M1 i c f p -> r # gmapQ :: (forall d. Data d => d -> u) -> M1 i c f p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> M1 i c f p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> M1 i c f p -> m (M1 i c f p) #
(Typeable f, Typeable g, Data p, Data (f (g p))) => Data ((f :.: g) p) # | Since: base-4.9.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> (f :.: g) p -> c ((f :.: g) p) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ((f :.: g) p) # toConstr :: (f :.: g) p -> Constr # dataTypeOf :: (f :.: g) p -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ((f :.: g) p)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ((f :.: g) p)) # gmapT :: (forall b. Data b => b -> b) -> (f :.: g) p -> (f :.: g) p # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (f :.: g) p -> r # gmapQ :: (forall d. Data d => d -> u) -> (f :.: g) p -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> (f :.: g) p -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (f :.: g) p -> m ((f :.: g) p) #
(Ord1 f, Ord1 g, Ord a) => Ord (Compose f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods compare :: Compose f g a -> Compose f g a -> Ordering Source # (<) :: Compose f g a -> Compose f g a -> Bool Source # (<=) :: Compose f g a -> Compose f g a -> Bool Source # (>) :: Compose f g a -> Compose f g a -> Bool Source # (>=) :: Compose f g a -> Compose f g a -> Bool Source # max :: Compose f g a -> Compose f g a -> Compose f g a Source # min :: Compose f g a -> Compose f g a -> Compose f g a Source #
(Read1 f, Read1 g, Read a) => Read (Compose f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods readsPrec :: Int -> ReadS (Compose f g a) # readList :: ReadS [Compose f g a] # readPrec :: ReadPrec (Compose f g a) # readListPrec :: ReadPrec [Compose f g a] #
(Show1 f, Show1 g, Show a) => Show (Compose f g a) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose Methods showsPrec :: Int -> Compose f g a -> ShowS # show :: Compose f g a -> String # showList :: [Compose f g a] -> ShowS #
type Rep1 (f :.: g :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 (f :.: g :: k -> Type) = D1 (MetaData ":.:" "GHC.Generics" "base" True) (C1 (MetaCons "Comp1" PrefixI True) (S1 (MetaSel (Just "unComp1") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (f :.: Rec1 g)))
type Rep1 (Compose f g :: k -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Functor.Compose type Rep1 (Compose f g :: k -> Type) = D1 (MetaData "Compose" "Data.Functor.Compose" "base" True) (C1 (MetaCons "Compose" PrefixI True) (S1 (MetaSel (Just "getCompose") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (f :.: Rec1 g)))
type Rep1 [] # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 [] = D1 (MetaData "[]" "GHC.Types" "ghc-prim" False) (C1 (MetaCons "[]" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons ":" (InfixI LeftAssociative 9) False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1 :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 [])))
type Rep1 Maybe # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 Maybe = D1 (MetaData "Maybe" "GHC.Maybe" "base" False) (C1 (MetaCons "Nothing" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Just" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Par1 # | Since: base-4.9.0.0
Instance details Defined in GHC.Generics type Rep1 Par1 = D1 (MetaData "Par1" "GHC.Generics" "base" True) (C1 (MetaCons "Par1" PrefixI True) (S1 (MetaSel (Just "unPar1") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 NonEmpty # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 NonEmpty = D1 (MetaData "NonEmpty" "GHC.Base" "base" False) (C1 (MetaCons ":|" (InfixI LeftAssociative 9) False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1 :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 [])))
type Rep1 Down # | Since: base-4.12.0.0
Instance details Defined in GHC.Generics type Rep1 Down = D1 (MetaData "Down" "Data.Ord" "base" True) (C1 (MetaCons "Down" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Product # | Since: base-4.7.0.0
Instance details Defined in Data.Semigroup.Internal type Rep1 Product = D1 (MetaData "Product" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Product" PrefixI True) (S1 (MetaSel (Just "getProduct") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Sum # | Since: base-4.7.0.0
Instance details Defined in Data.Semigroup.Internal type Rep1 Sum = D1 (MetaData "Sum" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Sum" PrefixI True) (S1 (MetaSel (Just "getSum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Dual # | Since: base-4.7.0.0
Instance details Defined in Data.Semigroup.Internal type Rep1 Dual = D1 (MetaData "Dual" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Dual" PrefixI True) (S1 (MetaSel (Just "getDual") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Last # | Since: base-4.7.0.0
Instance details Defined in Data.Monoid type Rep1 Last = D1 (MetaData "Last" "Data.Monoid" "base" True) (C1 (MetaCons "Last" PrefixI True) (S1 (MetaSel (Just "getLast") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 Maybe)))
type Rep1 First # | Since: base-4.7.0.0
Instance details Defined in Data.Monoid type Rep1 First = D1 (MetaData "First" "Data.Monoid" "base" True) (C1 (MetaCons "First" PrefixI True) (S1 (MetaSel (Just "getFirst") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 Maybe)))
type Rep1 Identity # | Since: base-4.8.0.0
Instance details Defined in Data.Functor.Identity type Rep1 Identity = D1 (MetaData "Identity" "Data.Functor.Identity" "base" True) (C1 (MetaCons "Identity" PrefixI True) (S1 (MetaSel (Just "runIdentity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 ZipList # | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep1 ZipList = D1 (MetaData "ZipList" "Control.Applicative" "base" True) (C1 (MetaCons "ZipList" PrefixI True) (S1 (MetaSel (Just "getZipList") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 [])))
type Rep1 Option # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Option = D1 (MetaData "Option" "Data.Semigroup" "base" True) (C1 (MetaCons "Option" PrefixI True) (S1 (MetaSel (Just "getOption") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 Maybe)))
type Rep1 WrappedMonoid # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 WrappedMonoid = D1 (MetaData "WrappedMonoid" "Data.Semigroup" "base" True) (C1 (MetaCons "WrapMonoid" PrefixI True) (S1 (MetaSel (Just "unwrapMonoid") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Last # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Last = D1 (MetaData "Last" "Data.Semigroup" "base" True) (C1 (MetaCons "Last" PrefixI True) (S1 (MetaSel (Just "getLast") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 First # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 First = D1 (MetaData "First" "Data.Semigroup" "base" True) (C1 (MetaCons "First" PrefixI True) (S1 (MetaSel (Just "getFirst") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Max # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Max = D1 (MetaData "Max" "Data.Semigroup" "base" True) (C1 (MetaCons "Max" PrefixI True) (S1 (MetaSel (Just "getMax") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Min # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 Min = D1 (MetaData "Min" "Data.Semigroup" "base" True) (C1 (MetaCons "Min" PrefixI True) (S1 (MetaSel (Just "getMin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 Complex # | Since: base-4.9.0.0
Instance details Defined in Data.Complex type Rep1 Complex = D1 (MetaData "Complex" "Data.Complex" "base" False) (C1 (MetaCons ":+" (InfixI NotAssociative 6) False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1 :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) Par1))
type Rep1 (Either a :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 (Either a :: Type -> Type) = D1 (MetaData "Either" "Data.Either" "base" False) (C1 (MetaCons "Left" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) :+: C1 (MetaCons "Right" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 ((,) a :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,) a :: Type -> Type) = D1 (MetaData "(,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,)" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 (WrappedMonad m :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 (MetaData "WrappedMonad" "Control.Applicative" "base" True) (C1 (MetaCons "WrapMonad" PrefixI True) (S1 (MetaSel (Just "unwrapMonad") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 m)))
type Rep1 (Arg a :: Type -> Type) # | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup type Rep1 (Arg a :: Type -> Type) = D1 (MetaData "Arg" "Data.Semigroup" "base" False) (C1 (MetaCons "Arg" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))
type Rep1 ((,,) a b :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,,) a b :: Type -> Type) = D1 (MetaData "(,,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,,)" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1)))
type Rep1 (WrappedArrow a b :: Type -> Type) # | Since: base-4.7.0.0
Instance details Defined in Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 (MetaData "WrappedArrow" "Control.Applicative" "base" True) (C1 (MetaCons "WrapArrow" PrefixI True) (S1 (MetaSel (Just "unwrapArrow") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec1 (a b))))
type Rep1 ((,,,) a b c :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,,,) a b c :: Type -> Type) = D1 (MetaData "(,,,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,,,)" PrefixI False) ((S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b)) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 c) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1)))
type Rep1 ((,,,,) a b c d :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,,,,) a b c d :: Type -> Type) = D1 (MetaData "(,,,,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,,,,)" PrefixI False) ((S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b)) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 c) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 d) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))))
type Rep1 ((,,,,,) a b c d e :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,,,,,) a b c d e :: Type -> Type) = D1 (MetaData "(,,,,,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,,,,,)" PrefixI False) ((S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 c))) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 d) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 e) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))))
type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) # | Since: base-4.6.0.0
Instance details Defined in GHC.Generics type Rep1 ((,,,,,,) a b c d e f :: Type -> Type) = D1 (MetaData "(,,,,,,)" "GHC.Tuple" "ghc-prim" False) (C1 (MetaCons "(,,,,,,)" PrefixI False) ((S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 b) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 c))) :*: ((S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 d) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 e)) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 f) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))))

data RuntimeRep Source #

GHC maintains a property that the kind of all inhabited types (as distinct from type constructors or type-level data) tells us the runtime representation of values of that type. This datatype encodes the choice of runtime value. Note that `TYPE` is parameterised by `RuntimeRep`; this is precisely what we mean by the fact that a type's kind encodes the runtime representation.

For boxed values (that is, values that are represented by a pointer), a further distinction is made, between lifted types (that contain ⊥), and unlifted ones (that don't).

Constructors

VecRep VecCount VecElem | a SIMD vector type
TupleRep [RuntimeRep] | An unboxed tuple of the given reps
SumRep [RuntimeRep] | An unboxed sum of the given reps
LiftedRep | lifted; represented by a pointer
UnliftedRep | unlifted; represented by a pointer
IntRep | signed, word-sized value
WordRep | unsigned, word-sized value
Int64Rep | signed, 64-bit value (on 32-bit only)
Word64Rep | unsigned, 64-bit value (on 32-bit only)
AddrRep | A pointer, but not to a Haskell value
FloatRep | a 32-bit floating point number
DoubleRep | a 64-bit floating point number

Instances

Show RuntimeRep # | Since: base-4.11.0.0
Instance details Defined in GHC.Show Methods showsPrec :: Int -> RuntimeRep -> ShowS # show :: RuntimeRep -> String # showList :: [RuntimeRep] -> ShowS #

data VecCount Source #

Length of a SIMD vector type

Constructors

Vec2 |
Vec4 |
Vec8 |
Vec16 |
Vec32 |
Vec64 |

Instances

Bounded VecCount # | Since: base-4.10.0.0
Instance details Defined in GHC.Enum Methods minBound :: VecCount # maxBound :: VecCount #
Enum VecCount # | Since: base-4.10.0.0
Instance details Defined in GHC.Enum Methods succ :: VecCount -> VecCount # pred :: VecCount -> VecCount # toEnum :: Int -> VecCount # fromEnum :: VecCount -> Int # enumFrom :: VecCount -> [VecCount] # enumFromThen :: VecCount -> VecCount -> [VecCount] # enumFromTo :: VecCount -> VecCount -> [VecCount] # enumFromThenTo :: VecCount -> VecCount -> VecCount -> [VecCount] #
Show VecCount # | Since: base-4.11.0.0
Instance details Defined in GHC.Show Methods showsPrec :: Int -> VecCount -> ShowS # show :: VecCount -> String # showList :: [VecCount] -> ShowS #

data VecElem Source #

Element of a SIMD vector type

Constructors

Int8ElemRep |
Int16ElemRep |
Int32ElemRep |
Int64ElemRep |
Word8ElemRep |
Word16ElemRep |
Word32ElemRep |
Word64ElemRep |
FloatElemRep |
DoubleElemRep |

Instances

Bounded VecElem # | Since: base-4.10.0.0
Instance details Defined in GHC.Enum Methods minBound :: VecElem # maxBound :: VecElem #
Enum VecElem # | Since: base-4.10.0.0
Instance details Defined in GHC.Enum Methods succ :: VecElem -> VecElem # pred :: VecElem -> VecElem # toEnum :: Int -> VecElem # fromEnum :: VecElem -> Int # enumFrom :: VecElem -> [VecElem] # enumFromThen :: VecElem -> VecElem -> [VecElem] # enumFromTo :: VecElem -> VecElem -> [VecElem] # enumFromThenTo :: VecElem -> VecElem -> VecElem -> [VecElem] #
Show VecElem # | Since: base-4.11.0.0
Instance details Defined in GHC.Show Methods showsPrec :: Int -> VecElem -> ShowS # show :: VecElem -> String # showList :: [VecElem] -> ShowS #

# Transform comprehensions

newtype Down a #

The `Down` type allows you to reverse sort order conveniently. A value of type ``Down` a` contains a value of type `a` (represented as ``Down` a`). If `a` has an ``Ord`` instance associated with it then comparing two values thus wrapped will give you the opposite of their normal sort order. This is particularly useful when sorting in generalised list comprehensions, as in: `then sortWith by `Down` x`

Since: base-4.6.0.0

Constructors

Down a |

Instances

Monad Down # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods (>>=) :: Down a -> (a -> Down b) -> Down b # (>>) :: Down a -> Down b -> Down b # return :: a -> Down a # fail :: String -> Down a #
Functor Down # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods fmap :: (a -> b) -> Down a -> Down b # (<$) :: a -> Down b -> Down a #
MonadFix Down # | Since: base-4.12.0.0
Instance details Defined in Control.Monad.Fix Methods mfix :: (a -> Down a) -> Down a #
Applicative Down # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods pure :: a -> Down a # (<*>) :: Down (a -> b) -> Down a -> Down b # liftA2 :: (a -> b -> c) -> Down a -> Down b -> Down c # (*>) :: Down a -> Down b -> Down b # (<*) :: Down a -> Down b -> Down a #
Foldable Down # | Since: base-4.12.0.0
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Down m -> m # foldMap :: Monoid m => (a -> m) -> Down a -> m # foldr :: (a -> b -> b) -> b -> Down a -> b # foldr' :: (a -> b -> b) -> b -> Down a -> b # foldl :: (b -> a -> b) -> b -> Down a -> b # foldl' :: (b -> a -> b) -> b -> Down a -> b # foldr1 :: (a -> a -> a) -> Down a -> a # foldl1 :: (a -> a -> a) -> Down a -> a # toList :: Down a -> [a] # null :: Down a -> Bool # length :: Down a -> Int # elem :: Eq a => a -> Down a -> Bool # maximum :: Ord a => Down a -> a # minimum :: Ord a => Down a -> a # sum :: Num a => Down a -> a # product :: Num a => Down a -> a #
Traversable Down # | Since: base-4.12.0.0
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Down a -> f (Down b) # sequenceA :: Applicative f => Down (f a) -> f (Down a) # mapM :: Monad m => (a -> m b) -> Down a -> m (Down b) # sequence :: Monad m => Down (m a) -> m (Down a) #
MonadZip Down # | Since: base-4.12.0.0
Instance details Defined in Control.Monad.Zip Methods mzip :: Down a -> Down b -> Down (a, b) # mzipWith :: (a -> b -> c) -> Down a -> Down b -> Down c # munzip :: Down (a, b) -> (Down a, Down b) #
Show1 Down # | Since: base-4.12.0.0
Instance details Defined in Data.Functor.Classes Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Down a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Down a] -> ShowS #
Read1 Down # | Since: base-4.12.0.0
Instance details Defined in Data.Functor.Classes Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Down a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Down a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Down a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Down a] #
Ord1 Down # | Since: base-4.12.0.0
Instance details Defined in Data.Functor.Classes Methods liftCompare :: (a -> b -> Ordering) -> Down a -> Down b -> Ordering #
Eq1 Down # | Since: base-4.12.0.0
Instance details Defined in Data.Functor.Classes Methods liftEq :: (a -> b -> Bool) -> Down a -> Down b -> Bool #
Eq a => Eq (Down a) # | Since: base-4.6.0.0
Instance details Defined in Data.Ord Methods (==) :: Down a -> Down a -> Bool Source # (/=) :: Down a -> Down a -> Bool Source #
Data a => Data (Down a) # | Since: base-4.12.0.0
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Down a -> c (Down a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Down a) # toConstr :: Down a -> Constr # dataTypeOf :: Down a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Down a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Down a)) # gmapT :: (forall b. Data b => b -> b) -> Down a -> Down a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r # gmapQ :: (forall d. Data d => d -> u) -> Down a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Down a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) #
Num a => Num (Down a) # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods (+) :: Down a -> Down a -> Down a # (-) :: Down a -> Down a -> Down a # (*) :: Down a -> Down a -> Down a # negate :: Down a -> Down a # abs :: Down a -> Down a # signum :: Down a -> Down a # fromInteger :: Integer -> Down a #
Ord a => Ord (Down a) # | Since: base-4.6.0.0
Instance details Defined in Data.Ord Methods compare :: Down a -> Down a -> Ordering Source # (<) :: Down a -> Down a -> Bool Source # (<=) :: Down a -> Down a -> Bool Source # (>) :: Down a -> Down a -> Bool Source # (>=) :: Down a -> Down a -> Bool Source # max :: Down a -> Down a -> Down a Source # min :: Down a -> Down a -> Down a Source #
Read a => Read (Down a) # | Since: base-4.7.0.0
Instance details Defined in Data.Ord Methods readsPrec :: Int -> ReadS (Down a) # readList :: ReadS [Down a] # readPrec :: ReadPrec (Down a) # readListPrec :: ReadPrec [Down a] #
Show a => Show (Down a) # | Since: base-4.7.0.0
Instance details Defined in Data.Ord Methods showsPrec :: Int -> Down a -> ShowS # show :: Down a -> String # showList :: [Down a] -> ShowS #
Generic (Down a) # |
Instance details Defined in GHC.Generics Associated Types type Rep (Down a) :: Type -> Type # Methods from :: Down a -> Rep (Down a) x # to :: Rep (Down a) x -> Down a #
Semigroup a => Semigroup (Down a) # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods (<>) :: Down a -> Down a -> Down a # sconcat :: NonEmpty (Down a) -> Down a # stimes :: Integral b => b -> Down a -> Down a #
Monoid a => Monoid (Down a) # | Since: base-4.11.0.0
Instance details Defined in Data.Ord Methods mempty :: Down a # mappend :: Down a -> Down a -> Down a # mconcat :: [Down a] -> Down a #
Generic1 Down # |
Instance details Defined in GHC.Generics Associated Types type Rep1 Down :: k -> Type # Methods from1 :: Down a -> Rep1 Down a # to1 :: Rep1 Down a -> Down a #
type Rep (Down a) # | Since: base-4.12.0.0
Instance details Defined in GHC.Generics type Rep (Down a) = D1 (MetaData "Down" "Data.Ord" "base" True) (C1 (MetaCons "Down" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
type Rep1 Down # | Since: base-4.12.0.0
Instance details Defined in GHC.Generics type Rep1 Down = D1 (MetaData "Down" "Data.Ord" "base" True) (C1 (MetaCons "Down" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

groupWith :: Ord b => (a -> b) -> [a] -> [[a]] #

The `groupWith` function uses the user supplied function which projects an element out of every list element in order to first sort the input list and then to form groups by equality on these projected elements

sortWith :: Ord b => (a -> b) -> [a] -> [a] #

The `sortWith` function sorts a list of elements using the user supplied function to project something out of each element

the :: Eq a => [a] -> a #

`the` ensures that all the elements of the list are identical and then returns that unique element

# Event logging

traceEvent :: String -> IO () #

Deprecated: Use `traceEvent` or `traceEventIO`

# SpecConstr annotations

data SpecConstrAnnotation #

Constructors

NoSpecConstr |
ForceSpecConstr |

Instances

Eq SpecConstrAnnotation # | Since: base-4.3.0.0
Instance details Defined in GHC.Exts Methods (==) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool Source # (/=) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool Source #
Data SpecConstrAnnotation # | Since: base-4.3.0.0
Instance details Defined in GHC.Exts Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpecConstrAnnotation -> c SpecConstrAnnotation # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpecConstrAnnotation # toConstr :: SpecConstrAnnotation -> Constr # dataTypeOf :: SpecConstrAnnotation -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpecConstrAnnotation) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpecConstrAnnotation) # gmapT :: (forall b. Data b => b -> b) -> SpecConstrAnnotation -> SpecConstrAnnotation # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpecConstrAnnotation -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpecConstrAnnotation -> r # gmapQ :: (forall d. Data d => d -> u) -> SpecConstrAnnotation -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> SpecConstrAnnotation -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpecConstrAnnotation -> m SpecConstrAnnotation #

# The call stack

currentCallStack :: IO [String] #

Returns a `[String]` representing the current call stack. This can be useful for debugging.

The implementation uses the call-stack simulation maintained by the profiler, so it only works if the program was compiled with `-prof` and contains suitable SCC annotations (e.g. by using `-fprof-auto`). Otherwise, the list returned is likely to be empty or uninformative.

Since: base-4.5.0.0

# The Constraint kind

data Constraint Source #

The kind of constraints, like `Show a`

# The Any type

type family Any :: k0 where ... Source #

The type constructor `Any` is type to which you can unsafely coerce any lifted type, and back. More concretely, for a lifted type `t` and value `x :: t`, -- `unsafeCoerce (unsafeCoerce x :: Any) :: t` is equivalent to `x`.

# Overloaded lists

class IsList l where #

The `IsList` class and its methods are intended to be used in conjunction with the OverloadedLists extension.

Since: base-4.7.0.0

Minimal complete definition

fromList, toList

Associated Types

type Item l #

The `Item` type function returns the type of items of the structure `l`.

Methods

fromList :: [Item l] -> l #

The `fromList` function constructs the structure `l` from the given list of `Item l`

fromListN :: Int -> [Item l] -> l #

The `fromListN` function takes the input list's length as a hint. Its behaviour should be equivalent to `fromList`. The hint can be used to construct the structure `l` more efficiently compared to `fromList`. If the given hint does not equal to the input list's length the behaviour of `fromListN` is not specified.

toList :: l -> [Item l] #

The `toList` function extracts a list of `Item l` from the structure `l`. It should satisfy fromList . toList = id.

Instances

IsList CallStack # | Be aware that 'fromList . toList = id' only for unfrozen `CallStack`s, since `toList` removes frozenness information. Since: base-4.9.0.0
Instance details Defined in GHC.Exts Associated Types type Item CallStack :: Type # Methods fromList :: [Item CallStack] -> CallStack # fromListN :: Int -> [Item CallStack] -> CallStack # toList :: CallStack -> [Item CallStack] #
IsList Version # | Since: base-4.8.0.0
Instance details Defined in GHC.Exts Associated Types type Item Version :: Type # Methods fromList :: [Item Version] -> Version # fromListN :: Int -> [Item Version] -> Version # toList :: Version -> [Item Version] #
IsList [a] # | Since: base-4.7.0.0
Instance details Defined in GHC.Exts Associated Types type Item [a] :: Type # Methods fromList :: [Item [a]] -> [a] # fromListN :: Int -> [Item [a]] -> [a] # toList :: [a] -> [Item [a]] #
IsList (NonEmpty a) # | Since: base-4.9.0.0
Instance details Defined in GHC.Exts Associated Types type Item (NonEmpty a) :: Type # Methods fromList :: [Item (NonEmpty a)] -> NonEmpty a # fromListN :: Int -> [Item (NonEmpty a)] -> NonEmpty a # toList :: NonEmpty a -> [Item (NonEmpty a)] #