packages feed

hw-prim 0.0.3.2 → 0.0.3.3

raw patch · 2 files changed

+25/−2 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion Data.ByteString.Internal.ByteString
+ HaskellWorks.Data.FromForeignRegion: type ForeignRegion = (ForeignPtr Word8, Int, Int)
- HaskellWorks.Data.FromForeignRegion: fromForeignRegion :: FromForeignRegion a => (ForeignPtr Word8, Int, Int) -> a
+ HaskellWorks.Data.FromForeignRegion: fromForeignRegion :: FromForeignRegion a => ForeignRegion -> a

Files

hw-prim.cabal view
@@ -1,5 +1,5 @@ name:                   hw-prim-version:                0.0.3.2+version:                0.0.3.3 synopsis:               Primitive functions and data types description:            Please see README.md homepage:               http://github.com/haskell-works/hw-prim#readme
src/HaskellWorks/Data/FromForeignRegion.hs view
@@ -1,9 +1,32 @@+{-# LANGUAGE FlexibleInstances #-}+ module HaskellWorks.Data.FromForeignRegion where +import qualified Data.ByteString          as BS+import qualified Data.ByteString.Internal as BSI+import qualified Data.Vector.Storable     as DVS import           Data.Word import           Foreign.ForeignPtr+import           HaskellWorks.Data.FromByteString +type ForeignRegion = (ForeignPtr Word8, Int, Int)+ -- | Class for datastructures that can be created from a foreign region class FromForeignRegion a where   -- | Create a value of type @a from a foreign region.-  fromForeignRegion :: (ForeignPtr Word8, Int, Int) -> a+  fromForeignRegion :: ForeignRegion -> a++instance FromForeignRegion BS.ByteString where+  fromForeignRegion (fptr, offset, size) = BSI.fromForeignPtr (castForeignPtr fptr) offset size++instance FromForeignRegion (DVS.Vector Word8) where+  fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word16) where+  fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word32) where+  fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word64) where+  fromForeignRegion = fromByteString . fromForeignRegion