foundation-0.0.30: Alternative prelude with batteries and no dependencies
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foundation.Primitive

Description

 
Synopsis

Documentation

class Eq ty => PrimType ty where Source #

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 Source #

type level size of the given ty

Methods

primSizeInBytes :: Proxy ty -> CountOf Word8 Source #

get the size in bytes of a ty element

primShiftToBytes :: Proxy ty -> Int Source #

get the shift size

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

return the element stored at a specific index

primMbaURead Source #

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 Source #

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 Source #

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 Source #

Read a value from Addr in a specific primitive monad

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

Write a value to Addr in a specific primitive monad

Instances

Instances details
PrimType CChar 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize CChar :: Nat Source #

PrimType CUChar 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize CUChar :: Nat Source #

PrimType Int16 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int16 :: Nat Source #

PrimType Int32 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int32 :: Nat Source #

PrimType Int64 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int64 :: Nat Source #

PrimType Int8 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int8 :: Nat Source #

PrimType Word16 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word16 :: Nat Source #

PrimType Word32 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word32 :: Nat Source #

PrimType Word64 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word64 :: Nat Source #

PrimType Word8 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word8 :: Nat Source #

PrimType Char7 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char7 :: Nat Source #

PrimType Word128 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word128 :: Nat Source #

PrimType Word256 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word256 :: Nat Source #

PrimType NanoSeconds Source # 
Instance details

Defined in Foundation.Time.Types

Associated Types

type PrimSize NanoSeconds :: Nat Source #

PrimType Seconds Source # 
Instance details

Defined in Foundation.Time.Types

Associated Types

type PrimSize Seconds :: Nat Source #

PrimType Char 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char :: Nat Source #

PrimType Double 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Double :: Nat Source #

PrimType Float 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Float :: Nat Source #

PrimType Int 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Int :: Nat Source #

PrimType Word 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Word :: Nat Source #

PrimType a => PrimType (BE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (BE a) :: Nat Source #

Methods

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

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

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

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

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

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

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

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

PrimType a => PrimType (LE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (LE a) :: Nat Source #

Methods

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

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

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

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

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

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

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

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

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

Primitive monad that can handle mutation.

For example: IO and ST.

Associated Types

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

type of state token associated with the PrimMonad m

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

type of variable associated with the PrimMonad m

Methods

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

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 Source #

Throw Exception in the primitive monad

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

Run a Prim monad from a dedicated state#

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

Build a new variable in the Prim Monad

primVarRead :: PrimVar m a -> m a Source #

Read the variable in the Prim Monad

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

Write the variable in the Prim Monad

Instances

Instances details
PrimMonad IO 
Instance details

Defined in Basement.Monad

Associated Types

type PrimState IO Source #

type PrimVar IO :: Type -> Type Source #

Methods

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

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

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

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

primVarRead :: PrimVar IO a -> IO a Source #

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

PrimMonad (ST s) 
Instance details

Defined in Basement.Monad

Associated Types

type PrimState (ST s) Source #

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

Methods

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

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

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

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

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

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

endianess

class ByteSwap a Source #

Class of types that can be byte-swapped.

e.g. Word16, Word32, Word64

Minimal complete definition

byteSwap

Instances

Instances details
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 Source #

Little Endian value

Constructors

LE 

Fields

Instances

Instances details
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 #

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 #

NormalForm a => NormalForm (LE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: LE a -> () Source #

PrimMemoryComparable a => PrimMemoryComparable (LE a) 
Instance details

Defined in Basement.PrimType

PrimType a => PrimType (LE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (LE a) :: Nat Source #

Methods

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

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

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

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

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

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

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

primAddrWrite :: PrimMonad prim => Addr# -> Offset (LE a) -> LE a -> prim () 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 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 #

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 #

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 Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

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

alignment :: proxy (LE Word128) -> 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 #

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 #

type PrimSize (LE a) 
Instance details

Defined in Basement.PrimType

type PrimSize (LE a) = PrimSize a

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

Convert a value in cpu endianess to little endian

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

Convert from a little endian value to the cpu endianness

newtype BE a Source #

Big Endian value

Constructors

BE 

Fields

Instances

Instances details
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 #

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 #

NormalForm a => NormalForm (BE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: BE a -> () Source #

PrimMemoryComparable a => PrimMemoryComparable (BE a) 
Instance details

Defined in Basement.PrimType

PrimType a => PrimType (BE a) 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize (BE a) :: Nat Source #

Methods

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

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

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

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

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

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

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

primAddrWrite :: PrimMonad prim => Addr# -> Offset (BE a) -> BE a -> prim () 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 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 #

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 #

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 Word128) Source # 
Instance details

Defined in Foundation.Class.Storable

Methods

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

alignment :: proxy (BE Word128) -> 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 #

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 #

type PrimSize (BE a) 
Instance details

Defined in Basement.PrimType

type PrimSize (BE a) = PrimSize a

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

Convert a value in cpu endianess to big endian

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

Convert from a big endian value to the cpu endianness

Integral convertion

class IntegralUpsize a b where Source #

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 Source #

Instances

Instances details
IntegralUpsize Int16 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int16 Int 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int32 Int 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int16 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int8 Int 
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 Word16 Word 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word32 Word 
Instance details

Defined in Basement.IntegralConv

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 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 Word8 Int 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word8 Word 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Int Int64 
Instance details

Defined in Basement.IntegralConv

IntegralUpsize Word Word64 
Instance details

Defined in Basement.IntegralConv

IsIntegral a => IntegralUpsize a Integer 
Instance details

Defined in Basement.IntegralConv

IsNatural a => IntegralUpsize a Natural 
Instance details

Defined in Basement.IntegralConv

class IntegralDownsize a b where Source #

Downsize an integral value

Minimal complete definition

integralDownsizeCheck

Instances

Instances details
IntegralDownsize Int64 Int16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int32 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Int64 Int 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word16 Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 Word16 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Word32 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

IntegralDownsize Word64 Word8 
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 Int8 
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 Integer Word8 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Integer Natural 
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 Natural Word8 
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 Int Int8 
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 Word Word8 
Instance details

Defined in Basement.IntegralConv

Evaluation

class NormalForm a where Source #

Data that can be fully evaluated in Normal Form

Methods

toNormalForm :: a -> () Source #

Instances

Instances details
NormalForm CChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CChar -> () Source #

NormalForm CDouble 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CDouble -> () Source #

NormalForm CFloat 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CFloat -> () Source #

NormalForm CInt 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CInt -> () Source #

NormalForm CLLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CLLong -> () Source #

NormalForm CLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CLong -> () Source #

NormalForm CSChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CSChar -> () Source #

NormalForm CShort 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CShort -> () Source #

NormalForm CUChar 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUChar -> () Source #

NormalForm CUInt 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUInt -> () Source #

NormalForm CULLong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CULLong -> () Source #

NormalForm CULong 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CULong -> () Source #

NormalForm CUShort 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CUShort -> () Source #

NormalForm Int16 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int16 -> () Source #

NormalForm Int32 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int32 -> () Source #

NormalForm Int64 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int64 -> () Source #

NormalForm Int8 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int8 -> () Source #

NormalForm Word16 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word16 -> () Source #

NormalForm Word32 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word32 -> () Source #

NormalForm Word64 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word64 -> () Source #

NormalForm Word8 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word8 -> () Source #

NormalForm Char7 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Char7 -> () Source #

NormalForm Word128 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word128 -> () Source #

NormalForm Word256 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word256 -> () Source #

NormalForm String 
Instance details

Defined in Basement.UTF8.Base

Methods

toNormalForm :: String -> () Source #

NormalForm CSV Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: CSV -> () Source #

NormalForm Escaping Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Escaping -> () Source #

NormalForm Field Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Field -> () Source #

NormalForm Row Source # 
Instance details

Defined in Foundation.Format.CSV.Types

Methods

toNormalForm :: Row -> () Source #

NormalForm IPv4 Source # 
Instance details

Defined in Foundation.Network.IPv4

Methods

toNormalForm :: IPv4 -> () Source #

NormalForm IPv6 Source # 
Instance details

Defined in Foundation.Network.IPv6

Methods

toNormalForm :: IPv6 -> () Source #

NormalForm UUID Source # 
Instance details

Defined in Foundation.UUID

Methods

toNormalForm :: UUID -> () Source #

NormalForm Integer 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Integer -> () Source #

NormalForm Natural 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Natural -> () Source #

NormalForm () 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: () -> () Source #

NormalForm Bool 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Bool -> () Source #

NormalForm Char 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Char -> () Source #

NormalForm Double 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Double -> () Source #

NormalForm Float 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Float -> () Source #

NormalForm Int 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Int -> () Source #

NormalForm Word 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Word -> () Source #

NormalForm (Ptr a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Ptr a -> () Source #

NormalForm (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

toNormalForm :: Block ty -> () Source #

NormalForm (Zn n) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Zn n -> () Source #

NormalForm (Zn64 n) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Zn64 n -> () Source #

NormalForm a => NormalForm (Array a) 
Instance details

Defined in Basement.BoxedArray

Methods

toNormalForm :: Array a -> () Source #

NormalForm a => NormalForm (BE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: BE a -> () Source #

NormalForm a => NormalForm (LE a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: LE a -> () Source #

NormalForm (CountOf a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: CountOf a -> () Source #

NormalForm (Offset a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Offset a -> () Source #

NormalForm (UArray ty) 
Instance details

Defined in Basement.UArray.Base

Methods

toNormalForm :: UArray ty -> () Source #

NormalForm (ChunkedUArray ty) Source # 
Instance details

Defined in Foundation.Array.Chunked.Unboxed

Methods

toNormalForm :: ChunkedUArray ty -> () Source #

NormalForm a => NormalForm (Maybe a) 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Maybe a -> () Source #

NormalForm a => NormalForm [a] 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: [a] -> () Source #

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

Defined in Basement.NormalForm

Methods

toNormalForm :: Either l r -> () Source #

NormalForm (BlockN n a) 
Instance details

Defined in Basement.Sized.Block

Methods

toNormalForm :: BlockN n a -> () Source #

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

Defined in Basement.Sized.List

Methods

toNormalForm :: ListN n a -> () Source #

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

Defined in Basement.These

Methods

toNormalForm :: These a b -> () Source #

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

Defined in Foundation.Tuple

Methods

toNormalForm :: Tuple2 a b -> () Source #

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

Defined in Basement.NormalForm

Methods

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

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

Defined in Foundation.Tuple

Methods

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

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

Defined in Basement.NormalForm

Methods

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

(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 -> () Source #

(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) -> () Source #

(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) -> () Source #

(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) -> () Source #

(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) -> () Source #

(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) -> () Source #

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

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

These

data These a b Source #

Either a or b or both.

Constructors

This a 
That b 
These a b 

Instances

Instances details
(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 -> () Source #

(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 #

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

Defined in Basement.From

Methods

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

Block of memory

data Block ty Source #

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

Instances

Instances details
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 :: forall r r'. (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 => 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 #

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 => IsList (Block ty) 
Instance details

Defined in Basement.Block.Base

Associated Types

type Item (Block ty) #

Methods

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

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

toList :: Block ty -> [Item (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 #

NormalForm (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

toNormalForm :: 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 => Copy (Block ty) Source # 
Instance details

Defined in Foundation.Collection.Copy

Methods

copy :: Block ty -> Block ty 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, Eq ty) => Eq (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

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

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

(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 #

Cast (Block a) (Block Word8) 
Instance details

Defined in Basement.Cast

Methods

cast :: Block a -> Block Word8 Source #

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

Defined in Basement.From

Methods

from :: Block ty -> UArray ty Source #

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

Defined in Basement.From

Methods

from :: Array ty -> Block ty Source #

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

Defined in Basement.From

Methods

from :: UArray ty -> Block ty Source #

(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) Source #

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

Defined in Basement.From

Methods

from :: BlockN n ty -> Block ty Source #

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 Source #

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

Instances

Instances details
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 Source #

ASCII value between 0x0 and 0x7f

Instances

Instances details
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 -> () Source #

PrimType Char7 
Instance details

Defined in Basement.PrimType

Associated Types

type PrimSize Char7 :: Nat Source #

Arbitrary Char7 Source # 
Instance details

Defined in Foundation.Check.Arbitrary

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 #

type NatNumMaxBound Char7 
Instance details

Defined in Basement.Nat

type PrimSize Char7 
Instance details

Defined in Basement.PrimType

type PrimSize Char7 = 1

data AsciiString Source #

Opaque packed array of characters in the ASCII encoding

Instances

Instances details
IsString AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Monoid AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Semigroup AsciiString 
Instance details

Defined in Basement.Types.AsciiString

IsList AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Associated Types

type Item AsciiString #

Show AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Arbitrary AsciiString Source # 
Instance details

Defined in Foundation.Check.Arbitrary

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 #

Eq AsciiString 
Instance details

Defined in Basement.Types.AsciiString

Ord AsciiString 
Instance details

Defined in Basement.Types.AsciiString

From AsciiString String 
Instance details

Defined in Basement.From

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