Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Unlifted
Synopsis
- newtype Maybe# (a :: TYPE r) :: TYPE ('SumRep '[ZeroBitRep, r]) where
- Maybe# :: forall (r :: RuntimeRep) (a :: TYPE r). (# (# #) | a #) -> Maybe# a
- newtype Either# (a :: TYPE ra) (b :: TYPE rb) :: TYPE ('SumRep '[ra, rb]) where
- Either# :: forall (ra :: RuntimeRep) (rb :: RuntimeRep) (a :: TYPE ra) (b :: TYPE rb). (# a | b #) -> Either# a b
- newtype ST# a (b :: TYPE r) where
- ST# :: forall (r :: RuntimeRep) a (b :: TYPE r). {..} -> ST# a b
- newtype ShortText# :: UnliftedType where
- ShortText# :: ByteArray# -> ShortText#
- newtype Text# :: TYPE ('TupleRep '[UnliftedRep, 'Int32Rep, 'Int32Rep]) where
- Text# :: (# ByteArray#, Int32#, Int32# #) -> Text#
- newtype PrimArray# (a :: TYPE r) :: UnliftedType where
- PrimArray# :: forall (r :: RuntimeRep) (a :: TYPE r). ByteArray# -> PrimArray# a
- newtype MutablePrimArray# a (b :: TYPE r) :: UnliftedType where
- MutablePrimArray# :: forall (r :: RuntimeRep) a (b :: TYPE r). MutableByteArray# a -> MutablePrimArray# a b
- newtype Bool# :: TYPE 'WordRep where
- pattern True# :: Bool#
- pattern False# :: Bool#
Base
newtype Maybe# (a :: TYPE r) :: TYPE ('SumRep '[ZeroBitRep, r]) where #
Unboxed variant of Maybe
.
Constructors
Maybe# :: forall (r :: RuntimeRep) (a :: TYPE r). (# (# #) | a #) -> Maybe# a |
newtype Either# (a :: TYPE ra) (b :: TYPE rb) :: TYPE ('SumRep '[ra, rb]) where #
Unboxed variant of Either
.
Constructors
Either# :: forall (ra :: RuntimeRep) (rb :: RuntimeRep) (a :: TYPE ra) (b :: TYPE rb). (# a | b #) -> Either# a b |
newtype ST# a (b :: TYPE r) where #
Variant of ST
where the argument type does not have to be lifted.
This does not have a monad instance and is difficult to use.
Text
newtype ShortText# :: UnliftedType where #
Unlifted variant of ShortText
.
Constructors
ShortText# :: ByteArray# -> ShortText# |
newtype Text# :: TYPE ('TupleRep '[UnliftedRep, 'Int32Rep, 'Int32Rep]) where #
Unboxed variant of Text
. This includes a somewhat dubious restriction
that on the offset and length that prevents byte arrays larger than 2GiB
from being used as the backing store.
This decision makes the type work well in the vext library, and it makes the in-memory format close to what Apache Arrow uses.
Constructors
Text# :: (# ByteArray#, Int32#, Int32# #) -> Text# |
Arrays
newtype PrimArray# (a :: TYPE r) :: UnliftedType where #
This resembles the PrimArray
type from primitive
, but the phantom
parameter is an unboxed type, not a lifted type. For example:
PrimArray Word8
PrimArray# Word8#
Constructors
PrimArray# :: forall (r :: RuntimeRep) (a :: TYPE r). ByteArray# -> PrimArray# a |
newtype MutablePrimArray# a (b :: TYPE r) :: UnliftedType where #
Mutable variant of PrimArray#
.
Constructors
MutablePrimArray# :: forall (r :: RuntimeRep) a (b :: TYPE r). MutableByteArray# a -> MutablePrimArray# a b |