foundation-0.0.22: Alternative prelude with batteries and no dependencies

LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Foundation.Primitive

Contents

Description

 
Synopsis

Documentation

class Eq ty => PrimType ty where #

Represent the accessor for types that can be stored in the UArray and MUArray.

Types need to be a instance of storable and have fixed sized.

Associated Types

type PrimSize ty :: Nat #

type level size of the given ty

Methods

primSizeInBytes :: Proxy ty -> CountOf Word8 #

get the size in bytes of a ty element

primShiftToBytes :: Proxy ty -> Int #

get the shift size

primBaUIndex :: ByteArray# -> Offset ty -> ty #

return the element stored at a specific index

primMbaURead #

Arguments

:: PrimMonad prim 
=> MutableByteArray# (PrimState prim)

mutable array to read from

-> Offset ty

index of the element to retrieve

-> prim ty

the element returned

Read an element at an index in a mutable array

primMbaUWrite #

Arguments

:: PrimMonad prim 
=> MutableByteArray# (PrimState prim)

mutable array to modify

-> Offset ty

index of the element to modify

-> ty

the new value to store

-> prim () 

Write an element to a specific cell in a mutable array.

primAddrIndex :: Addr# -> Offset ty -> ty #

Read from Address, without a state. the value read should be considered a constant for all pratical purpose, otherwise bad thing will happens.

primAddrRead :: PrimMonad prim => Addr# -> Offset ty -> prim ty #

Read a value from Addr in a specific primitive monad

primAddrWrite :: PrimMonad prim => Addr# -> Offset ty -> ty -> prim () #

Write a value to Addr in a specific primitive monad

Instances
PrimType Char 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char :: Nat #

PrimType Double 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Double :: Nat #

PrimType Float 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Float :: Nat #

PrimType Int 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int :: Nat #

PrimType Int8 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int8 :: Nat #

PrimType Int16 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int16 :: Nat #

PrimType Int32 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int32 :: Nat #

PrimType Int64 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int64 :: Nat #

PrimType Word 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word :: Nat #

PrimType Word8 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word8 :: Nat #

PrimType Word16 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word16 :: Nat #

PrimType Word32 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word32 :: Nat #

PrimType Word64 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word64 :: Nat #

PrimType CChar 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize CChar :: Nat #

PrimType CUChar 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize CUChar :: Nat #

PrimType Word256 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word256 :: Nat #

PrimType Word128 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word128 :: Nat #

PrimType Char7 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char7 :: Nat #

PrimType Seconds Source # 
Instance details

Defined in Foundation.Time.Types

Associated Types

type PrimSize Seconds :: Nat #

PrimType NanoSeconds Source # 
Instance details

Defined in Foundation.Time.Types

Associated Types

type PrimSize NanoSeconds :: Nat #

PrimType a => PrimType (LE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (LE a) :: Nat #

Methods

primSizeInBytes :: Proxy (LE a) -> CountOf Word8 #

primShiftToBytes :: Proxy (LE a) -> Int #

primBaUIndex :: ByteArray# -> Offset (LE a) -> LE a #

primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> prim (LE a) #

primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> LE a -> prim () #

primAddrIndex :: Addr# -> Offset (LE a) -> LE a #

primAddrRead :: PrimMonad prim => Addr# -> Offset (LE a) -> prim (LE a) #

primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () #

PrimType a => PrimType (BE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (BE a) :: Nat #

Methods

primSizeInBytes :: Proxy (BE a) -> CountOf Word8 #

primShiftToBytes :: Proxy (BE a) -> Int #

primBaUIndex :: ByteArray# -> Offset (BE a) -> BE a #

primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> prim (BE a) #

primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> BE a -> prim () #

primAddrIndex :: Addr# -> Offset (BE a) -> BE a #

primAddrRead :: PrimMonad prim => Addr# -> Offset (BE a) -> prim (BE a) #

primAddrWrite :: PrimMonad prim => Addr# -> Offset (BE a) -> BE a -> prim () #

class (Functor m, Applicative m, Monad m) => PrimMonad (m :: Type -> Type) where #

Primitive monad that can handle mutation.

For example: IO and ST.

Associated Types

type PrimState (m :: Type -> Type) :: Type #

type of state token associated with the PrimMonad m

type PrimVar (m :: Type -> Type) :: Type -> Type #

type of variable associated with the PrimMonad m

Methods

primitive :: (State# (PrimState m) -> (#State# (PrimState m), a#)) -> m a #

Unwrap the State# token to pass to a function a primitive function that returns an unboxed state and a value.

primThrow :: Exception e => e -> m a #

Throw Exception in the primitive monad

unPrimMonad :: m a -> State# (PrimState m) -> (#State# (PrimState m), a#) #

Run a Prim monad from a dedicated state#

primVarNew :: a -> m (PrimVar m a) #

Build a new variable in the Prim Monad

primVarRead :: PrimVar m a -> m a #

Read the variable in the Prim Monad

primVarWrite :: PrimVar m a -> a -> m () #

Write the variable in the Prim Monad

Instances
PrimMonad IO 
Instance details

Defined in Basement.Monad

Associated Types

type PrimState IO :: Type #

type PrimVar IO :: Type -> Type #

Methods

primitive :: (State# (PrimState IO) -> (#State# (PrimState IO), a#)) -> IO a #

primThrow :: Exception e => e -> IO a #

unPrimMonad :: IO a -> State# (PrimState IO) -> (#State# (PrimState IO), a#) #

primVarNew :: a -> IO (PrimVar IO a) #

primVarRead :: PrimVar IO a -> IO a #

primVarWrite :: PrimVar IO a -> a -> IO () #

PrimMonad (ST s) 
Instance details

Defined in Basement.Monad

Associated Types

type PrimState (ST s) :: Type #

type PrimVar (ST s) :: Type -> Type #

Methods

primitive :: (State# (PrimState (ST s)) -> (#State# (PrimState (ST s)), a#)) -> ST s a #

primThrow :: Exception e => e -> ST s a #

unPrimMonad :: ST s a -> State# (PrimState (ST s)) -> (#State# (PrimState (ST s)), a#) #

primVarNew :: a -> ST s (PrimVar (ST s) a) #

primVarRead :: PrimVar (ST s) a -> ST s a #

primVarWrite :: PrimVar (ST s) a -> a -> ST s () #

endianess

class ByteSwap a #

Class of types that can be byte-swapped.

e.g. Word16, Word32, Word64

Minimal complete definition

byteSwap

Instances
ByteSwap Word16 
Instance details

Defined in Basement.Endianness

Methods

byteSwap :: Word16 -> Word16

ByteSwap Word32 
Instance details

Defined in Basement.Endianness

Methods

byteSwap :: Word32 -> Word32

ByteSwap Word64 
Instance details

Defined in Basement.Endianness

Methods

byteSwap :: Word64 -> Word64

newtype LE a #

Little Endian value

Constructors

LE 

Fields

Instances
Eq a => Eq (LE a) 
Instance details

Defined in Basement.Endianness

Methods

(==) :: LE a -> LE a -> Bool #

(/=) :: LE a -> LE a -> Bool #

(ByteSwap a, Ord a) => Ord (LE a) 
Instance details

Defined in Basement.Endianness

Methods

compare :: LE a -> LE a -> Ordering #

(<) :: LE a -> LE a -> Bool #

(<=) :: LE a -> LE a -> Bool #

(>) :: LE a -> LE a -> Bool #

(>=) :: LE a -> LE a -> Bool #

max :: LE a -> LE a -> LE a #

min :: LE a -> LE a -> LE a #

Show a => Show (LE a) 
Instance details

Defined in Basement.Endianness

Methods

showsPrec :: Int -> LE a -> ShowS #

show :: LE a -> String #

showList :: [LE a] -> ShowS #

Bits a => Bits (LE a) 
Instance details

Defined in Basement.Endianness

Methods

(.&.) :: LE a -> LE a -> LE a #

(.|.) :: LE a -> LE a -> LE a #

xor :: LE a -> LE a -> LE a #

complement :: LE a -> LE a #

shift :: LE a -> Int -> LE a #

rotate :: LE a -> Int -> LE a #

zeroBits :: LE a #

bit :: Int -> LE a #

setBit :: LE a -> Int -> LE a #

clearBit :: LE a -> Int -> LE a #

complementBit :: LE a -> Int -> LE a #

testBit :: LE a -> Int -> Bool #

bitSizeMaybe :: LE a -> Maybe Int #

bitSize :: LE a -> Int #

isSigned :: LE a -> Bool #

shiftL :: LE a -> Int -> LE a #

unsafeShiftL :: LE a -> Int -> LE a #

shiftR :: LE a -> Int -> LE a #

unsafeShiftR :: LE a -> Int -> LE a #

rotateL :: LE a -> Int -> LE a #

rotateR :: LE a -> Int -> LE a #

popCount :: LE a -> Int #

NormalForm a => NormalForm (LE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: LE a -> () #

PrimType a => PrimType (LE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (LE a) :: Nat #

Methods

primSizeInBytes :: Proxy (LE a) -> CountOf Word8 #

primShiftToBytes :: Proxy (LE a) -> Int #

primBaUIndex :: ByteArray# -> Offset (LE a) -> LE a #

primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> prim (LE a) #

primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (LE a) -> LE a -> prim () #

primAddrIndex :: Addr# -> Offset (LE a) -> LE a #

primAddrRead :: PrimMonad prim => Addr# -> Offset (LE a) -> prim (LE a) #

primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () #

PrimMemoryComparable a => PrimMemoryComparable (LE a) 
Instance details

Defined in Basement.PrimType

StorableFixed (LE Word16) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word16) -> CountOf Word8 Source #

alignment :: proxy (LE Word16) -> CountOf Word8 Source #

StorableFixed (LE Word32) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word32) -> CountOf Word8 Source #

alignment :: proxy (LE Word32) -> CountOf Word8 Source #

StorableFixed (LE Word64) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word64) -> CountOf Word8 Source #

alignment :: proxy (LE Word64) -> CountOf Word8 Source #

StorableFixed (LE Word256) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word256) -> CountOf Word8 Source #

alignment :: proxy (LE Word256) -> CountOf Word8 Source #

StorableFixed (LE Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (LE Word128) -> CountOf Word8 Source #

alignment :: proxy (LE Word128) -> CountOf Word8 Source #

Storable (LE Word16) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word16) -> IO (LE Word16) Source #

poke :: Ptr (LE Word16) -> LE Word16 -> IO () Source #

Storable (LE Word32) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word32) -> IO (LE Word32) Source #

poke :: Ptr (LE Word32) -> LE Word32 -> IO () Source #

Storable (LE Word64) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word64) -> IO (LE Word64) Source #

poke :: Ptr (LE Word64) -> LE Word64 -> IO () Source #

Storable (LE Word256) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word256) -> IO (LE Word256) Source #

poke :: Ptr (LE Word256) -> LE Word256 -> IO () Source #

Storable (LE Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (LE Word128) -> IO (LE Word128) Source #

poke :: Ptr (LE Word128) -> LE Word128 -> IO () Source #

type PrimSize (LE a) 
Instance details

Defined in Basement.PrimType

type PrimSize (LE a) = PrimSize a

toLE :: ByteSwap a => a -> LE a #

Convert a value in cpu endianess to little endian

fromLE :: ByteSwap a => LE a -> a #

Convert from a little endian value to the cpu endianness

newtype BE a #

Big Endian value

Constructors

BE 

Fields

Instances
Eq a => Eq (BE a) 
Instance details

Defined in Basement.Endianness

Methods

(==) :: BE a -> BE a -> Bool #

(/=) :: BE a -> BE a -> Bool #

(ByteSwap a, Ord a) => Ord (BE a) 
Instance details

Defined in Basement.Endianness

Methods

compare :: BE a -> BE a -> Ordering #

(<) :: BE a -> BE a -> Bool #

(<=) :: BE a -> BE a -> Bool #

(>) :: BE a -> BE a -> Bool #

(>=) :: BE a -> BE a -> Bool #

max :: BE a -> BE a -> BE a #

min :: BE a -> BE a -> BE a #

Show a => Show (BE a) 
Instance details

Defined in Basement.Endianness

Methods

showsPrec :: Int -> BE a -> ShowS #

show :: BE a -> String #

showList :: [BE a] -> ShowS #

Bits a => Bits (BE a) 
Instance details

Defined in Basement.Endianness

Methods

(.&.) :: BE a -> BE a -> BE a #

(.|.) :: BE a -> BE a -> BE a #

xor :: BE a -> BE a -> BE a #

complement :: BE a -> BE a #

shift :: BE a -> Int -> BE a #

rotate :: BE a -> Int -> BE a #

zeroBits :: BE a #

bit :: Int -> BE a #

setBit :: BE a -> Int -> BE a #

clearBit :: BE a -> Int -> BE a #

complementBit :: BE a -> Int -> BE a #

testBit :: BE a -> Int -> Bool #

bitSizeMaybe :: BE a -> Maybe Int #

bitSize :: BE a -> Int #

isSigned :: BE a -> Bool #

shiftL :: BE a -> Int -> BE a #

unsafeShiftL :: BE a -> Int -> BE a #

shiftR :: BE a -> Int -> BE a #

unsafeShiftR :: BE a -> Int -> BE a #

rotateL :: BE a -> Int -> BE a #

rotateR :: BE a -> Int -> BE a #

popCount :: BE a -> Int #

NormalForm a => NormalForm (BE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: BE a -> () #

PrimType a => PrimType (BE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (BE a) :: Nat #

Methods

primSizeInBytes :: Proxy (BE a) -> CountOf Word8 #

primShiftToBytes :: Proxy (BE a) -> Int #

primBaUIndex :: ByteArray# -> Offset (BE a) -> BE a #

primMbaURead :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> prim (BE a) #

primMbaUWrite :: PrimMonad prim => MutableByteArray# (PrimState prim) -> Offset (BE a) -> BE a -> prim () #

primAddrIndex :: Addr# -> Offset (BE a) -> BE a #

primAddrRead :: PrimMonad prim => Addr# -> Offset (BE a) -> prim (BE a) #

primAddrWrite :: PrimMonad prim => Addr# -> Offset (BE a) -> BE a -> prim () #

PrimMemoryComparable a => PrimMemoryComparable (BE a) 
Instance details

Defined in Basement.PrimType

StorableFixed (BE Word16) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word16) -> CountOf Word8 Source #

alignment :: proxy (BE Word16) -> CountOf Word8 Source #

StorableFixed (BE Word32) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word32) -> CountOf Word8 Source #

alignment :: proxy (BE Word32) -> CountOf Word8 Source #

StorableFixed (BE Word64) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word64) -> CountOf Word8 Source #

alignment :: proxy (BE Word64) -> CountOf Word8 Source #

StorableFixed (BE Word256) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word256) -> CountOf Word8 Source #

alignment :: proxy (BE Word256) -> CountOf Word8 Source #

StorableFixed (BE Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

size :: proxy (BE Word128) -> CountOf Word8 Source #

alignment :: proxy (BE Word128) -> CountOf Word8 Source #

Storable (BE Word16) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word16) -> IO (BE Word16) Source #

poke :: Ptr (BE Word16) -> BE Word16 -> IO () Source #

Storable (BE Word32) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word32) -> IO (BE Word32) Source #

poke :: Ptr (BE Word32) -> BE Word32 -> IO () Source #

Storable (BE Word64) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word64) -> IO (BE Word64) Source #

poke :: Ptr (BE Word64) -> BE Word64 -> IO () Source #

Storable (BE Word256) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word256) -> IO (BE Word256) Source #

poke :: Ptr (BE Word256) -> BE Word256 -> IO () Source #

Storable (BE Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

peek :: Ptr (BE Word128) -> IO (BE Word128) Source #

poke :: Ptr (BE Word128) -> BE Word128 -> IO () Source #

type PrimSize (BE a) 
Instance details

Defined in Basement.PrimType

type PrimSize (BE a) = PrimSize a

toBE :: ByteSwap a => a -> BE a #

Convert a value in cpu endianess to big endian

fromBE :: ByteSwap a => BE a -> a #

Convert from a big endian value to the cpu endianness

Integral convertion

class IntegralUpsize a b where #

Upsize an integral value

The destination type b size need to be greater or equal than the size type of a

Methods

integralUpsize :: a -> b #

Instances
IntegralUpsize Int Int64 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int -> Int64 #

IntegralUpsize Int8 Int 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int8 -> Int #

IntegralUpsize Int8 Int16 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int8 -> Int16 #

IntegralUpsize Int8 Int32 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int8 -> Int32 #

IntegralUpsize Int8 Int64 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int8 -> Int64 #

IntegralUpsize Int16 Int 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int16 -> Int #

IntegralUpsize Int16 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Int32 -> Int #

IntegralUpsize Int32 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word Word64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Word8 -> Int #

IntegralUpsize Word8 Int16 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: Word8 -> Word #

IntegralUpsize Word8 Word16 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word16 Word64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word64 
Instance details

Defined in Basement.IntegralConv

IsIntegral a => IntegralUpsize a Integer 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: a -> Integer #

IsNatural a => IntegralUpsize a Natural 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: a -> Natural #

class IntegralDownsize a b where #

Downsize an integral value

Minimal complete definition

integralDownsizeCheck

Methods

integralDownsize :: a -> b #

integralDownsizeCheck :: a -> Maybe b #

Instances
IntegralDownsize Int Int8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int Int32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Int64 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Natural 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Word64 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word64 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word Word32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word16 Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word64 Word32 
Instance details

Defined in Basement.IntegralConv

Evaluation

class NormalForm a where #

Data that can be fully evaluated in Normal Form

Methods

toNormalForm :: a -> () #

Instances
NormalForm Bool 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Bool -> () #

NormalForm Char 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Char -> () #

NormalForm Double 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Double -> () #

NormalForm Float 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Float -> () #

NormalForm Int 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int -> () #

NormalForm Int8 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int8 -> () #

NormalForm Int16 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int16 -> () #

NormalForm Int32 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int32 -> () #

NormalForm Int64 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int64 -> () #

NormalForm Integer 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Integer -> () #

NormalForm Natural 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Natural -> () #

NormalForm Word 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word -> () #

NormalForm Word8 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word8 -> () #

NormalForm Word16 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word16 -> () #

NormalForm Word32 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word32 -> () #

NormalForm Word64 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word64 -> () #

NormalForm () 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: () -> () #

NormalForm CChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CChar -> () #

NormalForm CSChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CSChar -> () #

NormalForm CUChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUChar -> () #

NormalForm CShort 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CShort -> () #

NormalForm CUShort 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUShort -> () #

NormalForm CInt 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CInt -> () #

NormalForm CUInt 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUInt -> () #

NormalForm CLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CLong -> () #

NormalForm CULong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CULong -> () #

NormalForm CLLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CLLong -> () #

NormalForm CULLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CULLong -> () #

NormalForm CFloat 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CFloat -> () #

NormalForm CDouble 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CDouble -> () #

NormalForm String 
Instance details

Defined in Basement.UTF8.Base

Methods

toNormalForm :: String -> () #

NormalForm Word256 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word256 -> () #

NormalForm Word128 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word128 -> () #

NormalForm Char7 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Char7 -> () #

NormalForm CSV Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: CSV -> () #

NormalForm Row Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Row -> () #

NormalForm Escaping Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Escaping -> () #

NormalForm Field Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Field -> () #

NormalForm IPv6 Source # 
Instance details

Defined in Foundation.Network.IPv6

Methods

toNormalForm :: IPv6 -> () #

NormalForm IPv4 Source # 
Instance details

Defined in Foundation.Network.IPv4

Methods

toNormalForm :: IPv4 -> () #

NormalForm UUID Source # 
Instance details

Defined in Foundation.UUID

Methods

toNormalForm :: UUID -> () #

NormalForm a => NormalForm [a] 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: [a] -> () #

NormalForm a => NormalForm (Maybe a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Maybe a -> () #

NormalForm (Ptr a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Ptr a -> () #

NormalForm a => NormalForm (Array a) 
Instance details

Defined in Basement.BoxedArray

Methods

toNormalForm :: Array a -> () #

NormalForm (UArray ty) 
Instance details

Defined in Basement.UArray.Base

Methods

toNormalForm :: UArray ty -> () #

NormalForm (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

toNormalForm :: Block ty -> () #

NormalForm (Offset a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Offset a -> () #

NormalForm (CountOf a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CountOf a -> () #

NormalForm (Zn64 n) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Zn64 n -> () #

NormalForm (Zn n) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Zn n -> () #

NormalForm a => NormalForm (LE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: LE a -> () #

NormalForm a => NormalForm (BE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: BE a -> () #

NormalForm (ChunkedUArray ty) Source # 
Instance details

Defined in Foundation.Array.Chunked.Unboxed

Methods

toNormalForm :: ChunkedUArray ty -> () #

(NormalForm l, NormalForm r) => NormalForm (Either l r) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Either l r -> () #

(NormalForm a, NormalForm b) => NormalForm (a, b) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b) -> () #

NormalForm (BlockN n a) 
Instance details

Defined in Basement.Sized.Block

Methods

toNormalForm :: BlockN n a -> () #

NormalForm a => NormalForm (ListN n a) 
Instance details

Defined in Basement.Sized.List

Methods

toNormalForm :: ListN n a -> () #

(NormalForm a, NormalForm b) => NormalForm (These a b) 
Instance details

Defined in Basement.These

Methods

toNormalForm :: These a b -> () #

(NormalForm a, NormalForm b) => NormalForm (Tuple2 a b) Source # 
Instance details

Defined in Foundation.Tuple

Methods

toNormalForm :: Tuple2 a b -> () #

(NormalForm a, NormalForm b, NormalForm c) => NormalForm (a, b, c) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c) -> () #

(NormalForm a, NormalForm b, NormalForm c) => NormalForm (Tuple3 a b c) Source # 
Instance details

Defined in Foundation.Tuple

Methods

toNormalForm :: Tuple3 a b c -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d) => NormalForm (a, b, c, d) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c, d) -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d) => NormalForm (Tuple4 a b c d) Source # 
Instance details

Defined in Foundation.Tuple

Methods

toNormalForm :: Tuple4 a b c d -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e) => NormalForm (a, b, c, d, e) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c, d, e) -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f) => NormalForm (a, b, c, d, e, f) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c, d, e, f) -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f, NormalForm g) => NormalForm (a, b, c, d, e, f, g) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c, d, e, f, g) -> () #

(NormalForm a, NormalForm b, NormalForm c, NormalForm d, NormalForm e, NormalForm f, NormalForm g, NormalForm h) => NormalForm (a, b, c, d, e, f, g, h) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: (a, b, c, d, e, f, g, h) -> () #

force :: NormalForm a => a -> a #

deepseq :: NormalForm a => a -> b -> b #

These

data These a b #

Either a or b or both.

Constructors

This a 
That b 
These a b 
Instances
Bifunctor These 
Instance details

Defined in Basement.These

Methods

bimap :: (a -> b) -> (c -> d) -> These a c -> These b d #

first :: (a -> b) -> These a c -> These b c #

second :: (b -> c) -> These a b -> These a c #

Functor (These a) 
Instance details

Defined in Basement.These

Methods

fmap :: (a0 -> b) -> These a a0 -> These a b #

(<$) :: a0 -> These a b -> These a a0 #

(Eq a, Eq b) => Eq (These a b) 
Instance details

Defined in Basement.These

Methods

(==) :: These a b -> These a b -> Bool #

(/=) :: These a b -> These a b -> Bool #

(Ord a, Ord b) => Ord (These a b) 
Instance details

Defined in Basement.These

Methods

compare :: These a b -> These a b -> Ordering #

(<) :: These a b -> These a b -> Bool #

(<=) :: These a b -> These a b -> Bool #

(>) :: These a b -> These a b -> Bool #

(>=) :: These a b -> These a b -> Bool #

max :: These a b -> These a b -> These a b #

min :: These a b -> These a b -> These a b #

(Show a, Show b) => Show (These a b) 
Instance details

Defined in Basement.These

Methods

showsPrec :: Int -> These a b -> ShowS #

show :: These a b -> String #

showList :: [These a b] -> ShowS #

(NormalForm a, NormalForm b) => NormalForm (These a b) 
Instance details

Defined in Basement.These

Methods

toNormalForm :: These a b -> () #

From (Either a b) (These a b) 
Instance details

Defined in Basement.From

Methods

from :: Either a b -> These a b #

Block of memory

data Block ty #

A block of memory containing unpacked bytes representing values of type ty

Instances
PrimType ty => IsList (Block ty) 
Instance details

Defined in Basement.Block.Base

Associated Types

type Item (Block ty) :: Type #

Methods

fromList :: [Item (Block ty)] -> Block ty #

fromListN :: Int -> [Item (Block ty)] -> Block ty #

toList :: Block ty -> [Item (Block ty)] #

(PrimType ty, Eq ty) => Eq (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

(==) :: Block ty -> Block ty -> Bool #

(/=) :: Block ty -> Block ty -> Bool #

Data ty => Data (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Block ty -> c (Block ty) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Block ty) #

toConstr :: Block ty -> Constr #

dataTypeOf :: Block ty -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Block ty)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Block ty)) #

gmapT :: (forall b. Data b => b -> b) -> Block ty -> Block ty #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Block ty -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Block ty -> r #

gmapQ :: (forall d. Data d => d -> u) -> Block ty -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Block ty -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Block ty -> m (Block ty) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Block ty -> m (Block ty) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Block ty -> m (Block ty) #

(PrimType ty, Ord ty) => Ord (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

compare :: Block ty -> Block ty -> Ordering #

(<) :: Block ty -> Block ty -> Bool #

(<=) :: Block ty -> Block ty -> Bool #

(>) :: Block ty -> Block ty -> Bool #

(>=) :: Block ty -> Block ty -> Bool #

max :: Block ty -> Block ty -> Block ty #

min :: Block ty -> Block ty -> Block ty #

(PrimType ty, Show ty) => Show (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

showsPrec :: Int -> Block ty -> ShowS #

show :: Block ty -> String #

showList :: [Block ty] -> ShowS #

PrimType ty => Semigroup (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

(<>) :: Block ty -> Block ty -> Block ty #

sconcat :: NonEmpty (Block ty) -> Block ty #

stimes :: Integral b => b -> Block ty -> Block ty #

PrimType ty => Monoid (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

mempty :: Block ty #

mappend :: Block ty -> Block ty -> Block ty #

mconcat :: [Block ty] -> Block ty #

NormalForm (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

toNormalForm :: Block ty -> () #

PrimType ty => Copy (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Copy

Methods

copy :: Block ty -> Block ty Source #

PrimType ty => Collection (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Collection

Methods

null :: Block ty -> Bool Source #

length :: Block ty -> CountOf (Element (Block ty)) Source #

elem :: (Eq a, a ~ Element (Block ty)) => Element (Block ty) -> Block ty -> Bool Source #

notElem :: (Eq a, a ~ Element (Block ty)) => Element (Block ty) -> Block ty -> Bool Source #

maximum :: (Ord a, a ~ Element (Block ty)) => NonEmpty (Block ty) -> Element (Block ty) Source #

minimum :: (Ord a, a ~ Element (Block ty)) => NonEmpty (Block ty) -> Element (Block ty) Source #

any :: (Element (Block ty) -> Bool) -> Block ty -> Bool Source #

all :: (Element (Block ty) -> Bool) -> Block ty -> Bool Source #

PrimType ty => Fold1able (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Foldable

Methods

foldl1' :: (Element (Block ty) -> Element (Block ty) -> Element (Block ty)) -> NonEmpty (Block ty) -> Element (Block ty) Source #

foldr1 :: (Element (Block ty) -> Element (Block ty) -> Element (Block ty)) -> NonEmpty (Block ty) -> Element (Block ty) Source #

PrimType ty => Foldable (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Foldable

Methods

foldl' :: (a -> Element (Block ty) -> a) -> a -> Block ty -> a Source #

foldr :: (Element (Block ty) -> a -> a) -> a -> Block ty -> a Source #

foldr' :: (Element (Block ty) -> a -> a) -> a -> Block ty -> a Source #

PrimType ty => IndexedCollection (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Indexed

Methods

(!) :: Block ty -> Offset (Element (Block ty)) -> Maybe (Element (Block ty)) Source #

findIndex :: (Element (Block ty) -> Bool) -> Block ty -> Maybe (Offset (Element (Block ty))) Source #

PrimType ty => Sequential (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Sequential

Methods

take :: CountOf (Element (Block ty)) -> Block ty -> Block ty Source #

revTake :: CountOf (Element (Block ty)) -> Block ty -> Block ty Source #

drop :: CountOf (Element (Block ty)) -> Block ty -> Block ty Source #

revDrop :: CountOf (Element (Block ty)) -> Block ty -> Block ty Source #

splitAt :: CountOf (Element (Block ty)) -> Block ty -> (Block ty, Block ty) Source #

revSplitAt :: CountOf (Element (Block ty)) -> Block ty -> (Block ty, Block ty) Source #

splitOn :: (Element (Block ty) -> Bool) -> Block ty -> [Block ty] Source #

break :: (Element (Block ty) -> Bool) -> Block ty -> (Block ty, Block ty) Source #

breakEnd :: (Element (Block ty) -> Bool) -> Block ty -> (Block ty, Block ty) Source #

breakElem :: Element (Block ty) -> Block ty -> (Block ty, Block ty) Source #

takeWhile :: (Element (Block ty) -> Bool) -> Block ty -> Block ty Source #

dropWhile :: (Element (Block ty) -> Bool) -> Block ty -> Block ty Source #

intersperse :: Element (Block ty) -> Block ty -> Block ty Source #

intercalate :: Element (Block ty) -> Block ty -> Element (Block ty) Source #

span :: (Element (Block ty) -> Bool) -> Block ty -> (Block ty, Block ty) Source #

spanEnd :: (Element (Block ty) -> Bool) -> Block ty -> (Block ty, Block ty) Source #

filter :: (Element (Block ty) -> Bool) -> Block ty -> Block ty Source #

partition :: (Element (Block ty) -> Bool) -> Block ty -> (Block ty, Block ty) Source #

reverse :: Block ty -> Block ty Source #

uncons :: Block ty -> Maybe (Element (Block ty), Block ty) Source #

unsnoc :: Block ty -> Maybe (Block ty, Element (Block ty)) Source #

snoc :: Block ty -> Element (Block ty) -> Block ty Source #

cons :: Element (Block ty) -> Block ty -> Block ty Source #

find :: (Element (Block ty) -> Bool) -> Block ty -> Maybe (Element (Block ty)) Source #

sortBy :: (Element (Block ty) -> Element (Block ty) -> Ordering) -> Block ty -> Block ty Source #

singleton :: Element (Block ty) -> Block ty Source #

head :: NonEmpty (Block ty) -> Element (Block ty) Source #

last :: NonEmpty (Block ty) -> Element (Block ty) Source #

tail :: NonEmpty (Block ty) -> Block ty Source #

init :: NonEmpty (Block ty) -> Block ty Source #

replicate :: CountOf (Element (Block ty)) -> Element (Block ty) -> Block ty Source #

isPrefixOf :: Block ty -> Block ty -> Bool Source #

isSuffixOf :: Block ty -> Block ty -> Bool Source #

isInfixOf :: Block ty -> Block ty -> Bool Source #

stripPrefix :: Block ty -> Block ty -> Maybe (Block ty) Source #

stripSuffix :: Block ty -> Block ty -> Maybe (Block ty) Source #

PrimType ty => From (Array ty) (Block ty) 
Instance details

Defined in Basement.From

Methods

from :: Array ty -> Block ty #

PrimType ty => From (UArray ty) (Block ty) 
Instance details

Defined in Basement.From

Methods

from :: UArray ty -> Block ty #

PrimType ty => From (Block ty) (UArray ty) 
Instance details

Defined in Basement.From

Methods

from :: Block ty -> UArray ty #

Cast (Block a) (Block Word8) 
Instance details

Defined in Basement.Cast

Methods

cast :: Block a -> Block Word8 #

(NatWithinBound (CountOf ty) n, KnownNat n, PrimType ty) => TryFrom (Block ty) (BlockN n ty) 
Instance details

Defined in Basement.From

Methods

tryFrom :: Block ty -> Maybe (BlockN n ty) #

From (BlockN n ty) (Block ty) 
Instance details

Defined in Basement.From

Methods

from :: BlockN n ty -> Block ty #

type Item (Block ty) 
Instance details

Defined in Basement.Block.Base

type Item (Block ty) = ty
type Element (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Element

type Element (Block ty) = ty

data MutableBlock ty st #

A Mutable block of memory containing unpacked bytes representing values of type ty

Instances
PrimType ty => MutableCollection (MutableBlock ty) Source # 
Instance details

Defined in Foundation.Collection.Mutable

type MutableFreezed (MutableBlock ty) Source # 
Instance details

Defined in Foundation.Collection.Mutable

type MutableKey (MutableBlock ty) Source # 
Instance details

Defined in Foundation.Collection.Mutable

type MutableValue (MutableBlock ty) Source # 
Instance details

Defined in Foundation.Collection.Mutable

type MutableValue (MutableBlock ty) = ty

Ascii

data Char7 #

ASCII value between 0x0 and 0x7f

Instances
Eq Char7 
Instance details

Defined in Basement.Types.Char7

Methods

(==) :: Char7 -> Char7 -> Bool #

(/=) :: Char7 -> Char7 -> Bool #

Ord Char7 
Instance details

Defined in Basement.Types.Char7

Methods

compare :: Char7 -> Char7 -> Ordering #

(<) :: Char7 -> Char7 -> Bool #

(<=) :: Char7 -> Char7 -> Bool #

(>) :: Char7 -> Char7 -> Bool #

(>=) :: Char7 -> Char7 -> Bool #

max :: Char7 -> Char7 -> Char7 #

min :: Char7 -> Char7 -> Char7 #

Show Char7 
Instance details

Defined in Basement.Types.Char7

Methods

showsPrec :: Int -> Char7 -> ShowS #

show :: Char7 -> String #

showList :: [Char7] -> ShowS #

NormalForm Char7 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Char7 -> () #

PrimType Char7 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char7 :: Nat #

Arbitrary Char7 Source # 
Instance details

Defined in Foundation.Check.Arbitrary

type PrimSize Char7 
Instance details

Defined in Basement.PrimType

type PrimSize Char7 = 1
type NatNumMaxBound Char7 
Instance details

Defined in Basement.Nat

data AsciiString #

Opaque packed array of characters in the ASCII encoding

Instances
IsList AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Associated Types

type Item AsciiString :: Type #

Eq AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Ord AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Show AsciiString 
Instance details

Defined in Basement.Types.AsciiString

IsString AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Semigroup AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Monoid AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Collection AsciiString Source # 
Instance details

Defined in Foundation.Collection.Collection

Sequential AsciiString Source # 
Instance details

Defined in Foundation.Collection.Sequential

Methods

take :: CountOf (Element AsciiString) -> AsciiString -> AsciiString Source #

revTake :: CountOf (Element AsciiString) -> AsciiString -> AsciiString Source #

drop :: CountOf (Element AsciiString) -> AsciiString -> AsciiString Source #

revDrop :: CountOf (Element AsciiString) -> AsciiString -> AsciiString Source #

splitAt :: CountOf (Element AsciiString) -> AsciiString -> (AsciiString, AsciiString) Source #

revSplitAt :: CountOf (Element AsciiString) -> AsciiString -> (AsciiString, AsciiString) Source #

splitOn :: (Element AsciiString -> Bool) -> AsciiString -> [AsciiString] Source #

break :: (Element AsciiString -> Bool) -> AsciiString -> (AsciiString, AsciiString) Source #

breakEnd :: (Element AsciiString -> Bool) -> AsciiString -> (AsciiString, AsciiString) Source #

breakElem :: Element AsciiString -> AsciiString -> (AsciiString, AsciiString) Source #

takeWhile :: (Element AsciiString -> Bool) -> AsciiString -> AsciiString Source #

dropWhile :: (Element AsciiString -> Bool) -> AsciiString -> AsciiString Source #

intersperse :: Element AsciiString -> AsciiString -> AsciiString Source #

intercalate :: Element AsciiString -> AsciiString -> Element AsciiString Source #

span :: (Element AsciiString -> Bool) -> AsciiString -> (AsciiString, AsciiString) Source #

spanEnd :: (Element AsciiString -> Bool) -> AsciiString -> (AsciiString, AsciiString) Source #

filter :: (Element AsciiString -> Bool) -> AsciiString -> AsciiString Source #

partition :: (Element AsciiString -> Bool) -> AsciiString -> (AsciiString, AsciiString) Source #

reverse :: AsciiString -> AsciiString Source #

uncons :: AsciiString -> Maybe (Element AsciiString, AsciiString) Source #

unsnoc :: AsciiString -> Maybe (AsciiString, Element AsciiString) Source #

snoc :: AsciiString -> Element AsciiString -> AsciiString Source #

cons :: Element AsciiString -> AsciiString -> AsciiString Source #

find :: (Element AsciiString -> Bool) -> AsciiString -> Maybe (Element AsciiString) Source #

sortBy :: (Element AsciiString -> Element AsciiString -> Ordering) -> AsciiString -> AsciiString Source #

singleton :: Element AsciiString -> AsciiString Source #

head :: NonEmpty AsciiString -> Element AsciiString Source #

last :: NonEmpty AsciiString -> Element AsciiString Source #

tail :: NonEmpty AsciiString -> AsciiString Source #

init :: NonEmpty AsciiString -> AsciiString Source #

replicate :: CountOf (Element AsciiString) -> Element AsciiString -> AsciiString Source #

isPrefixOf :: AsciiString -> AsciiString -> Bool Source #

isSuffixOf :: AsciiString -> AsciiString -> Bool Source #

isInfixOf :: AsciiString -> AsciiString -> Bool Source #

stripPrefix :: AsciiString -> AsciiString -> Maybe AsciiString Source #

stripSuffix :: AsciiString -> AsciiString -> Maybe AsciiString Source #

Zippable AsciiString Source # 
Instance details

Defined in Foundation.Collection.Zippable

Methods

zipWith :: (Sequential a, Sequential b) => (Element a -> Element b -> Element AsciiString) -> a -> b -> AsciiString Source #

zipWith3 :: (Sequential a, Sequential b, Sequential c) => (Element a -> Element b -> Element c -> Element AsciiString) -> a -> b -> c -> AsciiString Source #

zipWith4 :: (Sequential a, Sequential b, Sequential c, Sequential d) => (Element a -> Element b -> Element c -> Element d -> Element AsciiString) -> a -> b -> c -> d -> AsciiString Source #

zipWith5 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element AsciiString) -> a -> b -> c -> d -> e -> AsciiString Source #

zipWith6 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e, Sequential f) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element f -> Element AsciiString) -> a -> b -> c -> d -> e -> f -> AsciiString Source #

zipWith7 :: (Sequential a, Sequential b, Sequential c, Sequential d, Sequential e, Sequential f, Sequential g) => (Element a -> Element b -> Element c -> Element d -> Element e -> Element f -> Element g -> Element AsciiString) -> a -> b -> c -> d -> e -> f -> g -> AsciiString Source #

Arbitrary AsciiString Source # 
Instance details

Defined in Foundation.Check.Arbitrary

From AsciiString String 
Instance details

Defined in Basement.From

Methods

from :: AsciiString -> String #

From AsciiString (UArray Word8) 
Instance details

Defined in Basement.From

type Item AsciiString 
Instance details

Defined in Basement.Types.AsciiString

type Element AsciiString Source # 
Instance details

Defined in Foundation.Collection.Element