packages feed

hw-prim 0.4.0.1 → 0.4.0.2

raw patch · 2 files changed

+98/−1 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ HaskellWorks.Data.Head: class Container a where type Elem a where {
+ HaskellWorks.Data.Head: class Container v => Head v
+ HaskellWorks.Data.Head: head :: Head v => v -> Elem v
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Int.Int16)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Int.Int32)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Int.Int64)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Int.Int8)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Types.Int)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Int.Int16)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Int.Int32)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Int.Int64)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Int.Int8)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Word.Word16)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Word.Word32)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Word.Word64)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head (Data.Vector.Vector GHC.Word.Word8)
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head Data.ByteString.Internal.ByteString
+ HaskellWorks.Data.Head: instance HaskellWorks.Data.Head.Head [a]
+ HaskellWorks.Data.Head: type family Elem a;
+ HaskellWorks.Data.Head: }

Files

hw-prim.cabal view
@@ -1,5 +1,5 @@ name:                   hw-prim-version:                0.4.0.1+version:                0.4.0.2 synopsis:               Primitive functions and data types description:            Please see README.md homepage:               http://github.com/haskell-works/hw-prim#readme@@ -28,6 +28,7 @@                       , HaskellWorks.Data.FromByteString                       , HaskellWorks.Data.FromForeignRegion                       , HaskellWorks.Data.Generate+                      , HaskellWorks.Data.Head                       , HaskellWorks.Data.Length                       , HaskellWorks.Data.Naive                       , HaskellWorks.Data.Positioning
+ src/HaskellWorks/Data/Head.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeFamilies          #-}++module HaskellWorks.Data.Head+    ( Container(..)+    , Head(..)+    ) where++import qualified Data.ByteString               as BS+import           Data.Int+import qualified Data.List                     as L+import qualified Data.Vector                   as DV+import qualified Data.Vector.Storable          as DVS+import           Data.Word+import           HaskellWorks.Data.Container+import           Prelude hiding (head)++class Container v => Head v where+  head :: v -> Elem v++instance Head [a] where+  head = L.head+  {-# INLINE head #-}++instance Head BS.ByteString where+  head = BS.head+  {-# INLINE head #-}++instance Head (DV.Vector Word8) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Word16) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Word32) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Word64) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DVS.Vector Word8) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Word16) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Word32) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Word64) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DV.Vector Int8) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Int16) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Int32) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DV.Vector Int64) where+  head = DV.head+  {-# INLINE head #-}++instance Head (DVS.Vector Int8) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Int16) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Int32) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Int64) where+  head = DVS.head+  {-# INLINE head #-}++instance Head (DVS.Vector Int) where+  head = DVS.head+  {-# INLINE head #-}