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 +2/−1
- src/HaskellWorks/Data/Head.hs +96/−0
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 #-}