c-storable 0.2 → 0.3
raw patch · 2 files changed
+9/−2 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ ForeignC: allocaBytes :: () => Int -> (Ptr a -> IO b) -> IO b
+ ForeignC: allocaBytesAligned :: () => Int -> Int -> (Ptr a -> IO b) -> IO b
+ ForeignC: copyBytes :: () => Ptr a -> Ptr a -> Int -> IO ()
+ ForeignC: fillBytes :: () => Ptr a -> Word8 -> Int -> IO ()
+ ForeignC: finalizerFree :: () => FinalizerPtr a
+ ForeignC: free :: () => Ptr a -> IO ()
+ ForeignC: fromBool :: Num a => Bool -> a
+ ForeignC: mallocBytes :: () => Int -> IO (Ptr a)
+ ForeignC: maybeNew :: () => (a -> IO (Ptr b)) -> Maybe a -> IO (Ptr b)
+ ForeignC: maybePeek :: () => (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
+ ForeignC: maybeWith :: () => (a -> (Ptr b -> IO c) -> IO c) -> Maybe a -> (Ptr b -> IO c) -> IO c
+ ForeignC: moveBytes :: () => Ptr a -> Ptr a -> Int -> IO ()
+ ForeignC: new :: CStorable a => a -> IO (Ptr a)
+ ForeignC: reallocBytes :: () => Ptr a -> Int -> IO (Ptr a)
+ ForeignC: toBool :: (Eq a, Num a) => a -> Bool
+ ForeignC: withMany :: () => (a -> (b -> res) -> res) -> [a] -> ([b] -> res) -> res
- ForeignC: alloca :: forall a b. (CStorable a) => (Ptr a -> IO b) -> IO b
+ ForeignC: alloca :: forall a b. CStorable a => (Ptr a -> IO b) -> IO b
- ForeignC: allocaArray :: (CStorable a) => Int -> (Ptr a -> IO b) -> IO b
+ ForeignC: allocaArray :: CStorable a => Int -> (Ptr a -> IO b) -> IO b
- ForeignC: copyArray :: (CStorable a) => Ptr a -> Ptr a -> Int -> IO ()
+ ForeignC: copyArray :: CStorable a => Ptr a -> Ptr a -> Int -> IO ()
- ForeignC: malloc :: (CStorable a) => IO (Ptr a)
+ ForeignC: malloc :: CStorable a => IO (Ptr a)
- ForeignC: mallocArray :: (CStorable a) => Int -> IO (Ptr a)
+ ForeignC: mallocArray :: CStorable a => Int -> IO (Ptr a)
- ForeignC: newArray :: (CStorable a) => [a] -> IO (Ptr a)
+ ForeignC: newArray :: CStorable a => [a] -> IO (Ptr a)
- ForeignC: peekArray :: (CStorable a) => Int -> Ptr a -> IO [a]
+ ForeignC: peekArray :: CStorable a => Int -> Ptr a -> IO [a]
- ForeignC: pokeArray :: (CStorable a) => Ptr a -> [a] -> IO ()
+ ForeignC: pokeArray :: CStorable a => Ptr a -> [a] -> IO ()
- ForeignC: with :: (CStorable a) => a -> (Ptr a -> IO b) -> IO b
+ ForeignC: with :: CStorable a => a -> (Ptr a -> IO b) -> IO b
- ForeignC: withArray :: (CStorable a) => [a] -> (Ptr a -> IO b) -> IO b
+ ForeignC: withArray :: CStorable a => [a] -> (Ptr a -> IO b) -> IO b
- ForeignC: withArrayLen :: (CStorable a) => [a] -> (Int -> Ptr a -> IO b) -> IO b
+ ForeignC: withArrayLen :: CStorable a => [a] -> (Int -> Ptr a -> IO b) -> IO b
Files
- c-storable.cabal +3/−2
- src/ForeignC.hs +6/−0
c-storable.cabal view
@@ -1,6 +1,6 @@ name: c-storable-version: 0.2-cabal-version: >= 1.8+version: 0.3+cabal-version: >= 1.10 build-type: Simple synopsis: CStorable class description: Replacement for Storable class that omits non-C types@@ -25,3 +25,4 @@ ForeignC hs-source-dirs: src ghc-options: -Wall -fno-warn-name-shadowing+ default-language: Haskell2010
src/ForeignC.hs view
@@ -231,3 +231,9 @@ with val f = alloca $ \ptr -> do poke ptr val f ptr++new :: (CStorable a) => a -> IO (Ptr a)+new val = do+ ptr <- malloc+ poke ptr val+ return ptr