comfort-array-0.5.5: Arrays where the index type is a function of the shape type
Safe HaskellSafe-Inferred
LanguageHaskell98

Data.Array.Comfort.Storable.Unchecked.Creator

Documentation

newtype Creator arr ptr Source #

Constructors

Creator (forall a. (ptr -> IO a) -> IO (arr, a)) 

Instances

Instances details
Bifunctor Creator Source # 
Instance details

Defined in Data.Array.Comfort.Storable.Unchecked.Creator

Methods

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

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

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

Biapplicative Creator Source # 
Instance details

Defined in Data.Array.Comfort.Storable.Unchecked.Creator

Methods

bipure :: a -> b -> Creator a b #

(<<*>>) :: Creator (a -> b) (c -> d) -> Creator a c -> Creator b d #

biliftA2 :: (a -> b -> c) -> (d -> e -> f) -> Creator a d -> Creator b e -> Creator c f #

(*>>) :: Creator a b -> Creator c d -> Creator c d #

(<<*) :: Creator a b -> Creator c d -> Creator a b #

Functor (Creator arr) Source # 
Instance details

Defined in Data.Array.Comfort.Storable.Unchecked.Creator

Methods

fmap :: (a -> b) -> Creator arr a -> Creator arr b #

(<$) :: a -> Creator arr b -> Creator arr a #

liftIO :: IO ptr -> Creator () ptr Source #

liftContT :: (forall a. ContT a IO ptr) -> Creator () ptr Source #

pair :: Creator arr0 ptr0 -> Creator arr1 ptr1 -> Creator (arr0, arr1) (ptr0, ptr1) Source #

unsafeRun :: PrimMonad m => Creator arr ptr -> (ptr -> IO ()) -> m arr Source #

unsafeRunWithResult :: PrimMonad m => Creator arr ptr -> (ptr -> IO b) -> m (arr, b) Source #

create :: (C sh, Storable a) => sh -> Creator (Array sh a) (Ptr a) Source #

createWithSize :: (C sh, Storable a) => sh -> Creator (Array sh a) (Int, Ptr a) Source #

createWithSizes :: (C sh, Storable a) => T sh nsize -> sh -> Creator (Array sh a) (nsize, Ptr a) Source #