PrimitiveArray 0.9.0.0 → 0.9.1.0
raw patch · 4 files changed
+183/−88 lines, 4 filesdep ~DPutilsdep ~QuickCheckdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: DPutils, QuickCheck, base, smallcheck
API changes (from Hackage documentation)
+ Data.PrimitiveArray.Checked: arbMaxPointR :: Int
+ Data.PrimitiveArray.Index: arbMaxPointR :: Int
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field1 (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) Data.PrimitiveArray.Index.Class.:. c) (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a') Data.PrimitiveArray.Index.Class.:. b) Data.PrimitiveArray.Index.Class.:. c) a a'
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field1 ((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) ((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a') Data.PrimitiveArray.Index.Class.:. b) a a'
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field1 (Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) (Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a') a a'
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field2 (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) Data.PrimitiveArray.Index.Class.:. c) (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b') Data.PrimitiveArray.Index.Class.:. c) b b'
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field2 ((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) ((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b') b b'
+ Data.PrimitiveArray.Index.Class: instance Control.Lens.Tuple.Field3 (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) Data.PrimitiveArray.Index.Class.:. c) (((Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. a) Data.PrimitiveArray.Index.Class.:. b) Data.PrimitiveArray.Index.Class.:. c') c c'
+ Data.PrimitiveArray.Index.Point: arbMaxPointR :: Int
+ Data.PrimitiveArray.Index.Point: instance Data.PrimitiveArray.Index.Class.IndexStream z => Data.PrimitiveArray.Index.Class.IndexStream (z Data.PrimitiveArray.Index.Class.:. Data.PrimitiveArray.Index.Point.PointR Data.PrimitiveArray.Index.IOC.I)
+ Data.PrimitiveArray.Index.Point: instance Data.PrimitiveArray.Index.Class.IndexStream z => Data.PrimitiveArray.Index.Class.IndexStream (z Data.PrimitiveArray.Index.Class.:. Data.PrimitiveArray.Index.Point.PointR Data.PrimitiveArray.Index.IOC.O)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Control.DeepSeq.NFData (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Aeson.Types.FromJSON.FromJSON (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Aeson.Types.FromJSON.FromJSONKey (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Aeson.Types.ToJSON.ToJSON (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Aeson.Types.ToJSON.ToJSONKey (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Binary.Class.Binary (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Hashable.Class.Hashable (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.PrimitiveArray.Index.Class.Index (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.PrimitiveArray.Index.Class.IndexStream (Data.PrimitiveArray.Index.Class.Z Data.PrimitiveArray.Index.Class.:. Data.PrimitiveArray.Index.Point.PointR t) => Data.PrimitiveArray.Index.Class.IndexStream (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Serialize.Serialize (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Data.Vector.Unboxed.Base.Unbox (Data.PrimitiveArray.Index.Point.PointR t)
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). GHC.Classes.Eq (Data.PrimitiveArray.Index.Class.LimitType (Data.PrimitiveArray.Index.Point.PointR t))
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). GHC.Generics.Generic (Data.PrimitiveArray.Index.Class.LimitType (Data.PrimitiveArray.Index.Point.PointR t))
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). GHC.Read.Read (Data.PrimitiveArray.Index.Class.LimitType (Data.PrimitiveArray.Index.Point.PointR t))
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). GHC.Show.Show (Data.PrimitiveArray.Index.Class.LimitType (Data.PrimitiveArray.Index.Point.PointR t))
+ Data.PrimitiveArray.Index.Point: instance forall k (t :: k). Test.QuickCheck.Arbitrary.Arbitrary (Data.PrimitiveArray.Index.Point.PointR t)
- Data.PrimitiveArray.Checked: bitSet :: forall t_aNrS t_aO1v. Iso (BitSet t_aNrS) (BitSet t_aO1v) Int Int
+ Data.PrimitiveArray.Checked: bitSet :: forall t_aPQq t_aQq3. Iso (BitSet t_aPQq) (BitSet t_aQq3) Int Int
- Data.PrimitiveArray.Checked: bitset :: forall i_aRWI ioc_aRWJ. Lens' (BitSet1 i_aRWI ioc_aRWJ) (BitSet ioc_aRWJ)
+ Data.PrimitiveArray.Checked: bitset :: forall i_aUh6 ioc_aUh7. Lens' (BitSet1 i_aUh6 ioc_aUh7) (BitSet ioc_aUh7)
- Data.PrimitiveArray.Checked: boundary :: forall i_aRWI ioc_aRWJ i_aS3j. Lens (BitSet1 i_aRWI ioc_aRWJ) (BitSet1 i_aS3j ioc_aRWJ) (Boundary i_aRWI ioc_aRWJ) (Boundary i_aS3j ioc_aRWJ)
+ Data.PrimitiveArray.Checked: boundary :: forall i_aUh6 ioc_aUh7 i_aUnH. Lens (BitSet1 i_aUh6 ioc_aUh7) (BitSet1 i_aUnH ioc_aUh7) (Boundary i_aUh6 ioc_aUh7) (Boundary i_aUnH ioc_aUh7)
- Data.PrimitiveArray.Index: bitSet :: forall t_aNrS t_aO1v. Iso (BitSet t_aNrS) (BitSet t_aO1v) Int Int
+ Data.PrimitiveArray.Index: bitSet :: forall t_aPQq t_aQq3. Iso (BitSet t_aPQq) (BitSet t_aQq3) Int Int
- Data.PrimitiveArray.Index: bitset :: forall i_aRWI ioc_aRWJ. Lens' (BitSet1 i_aRWI ioc_aRWJ) (BitSet ioc_aRWJ)
+ Data.PrimitiveArray.Index: bitset :: forall i_aUh6 ioc_aUh7. Lens' (BitSet1 i_aUh6 ioc_aUh7) (BitSet ioc_aUh7)
- Data.PrimitiveArray.Index: boundary :: forall i_aRWI ioc_aRWJ i_aS3j. Lens (BitSet1 i_aRWI ioc_aRWJ) (BitSet1 i_aS3j ioc_aRWJ) (Boundary i_aRWI ioc_aRWJ) (Boundary i_aS3j ioc_aRWJ)
+ Data.PrimitiveArray.Index: boundary :: forall i_aUh6 ioc_aUh7 i_aUnH. Lens (BitSet1 i_aUh6 ioc_aUh7) (BitSet1 i_aUnH ioc_aUh7) (Boundary i_aUh6 ioc_aUh7) (Boundary i_aUnH ioc_aUh7)
- Data.PrimitiveArray.Index.BitSet0: bitSet :: forall t_aNrS t_aO1v. Iso (BitSet t_aNrS) (BitSet t_aO1v) Int Int
+ Data.PrimitiveArray.Index.BitSet0: bitSet :: forall t_aPQq t_aQq3. Iso (BitSet t_aPQq) (BitSet t_aQq3) Int Int
- Data.PrimitiveArray.Index.BitSet1: bitset :: forall i_aRWI ioc_aRWJ. Lens' (BitSet1 i_aRWI ioc_aRWJ) (BitSet ioc_aRWJ)
+ Data.PrimitiveArray.Index.BitSet1: bitset :: forall i_aUh6 ioc_aUh7. Lens' (BitSet1 i_aUh6 ioc_aUh7) (BitSet ioc_aUh7)
- Data.PrimitiveArray.Index.BitSet1: boundary :: forall i_aRWI ioc_aRWJ i_aS3j. Lens (BitSet1 i_aRWI ioc_aRWJ) (BitSet1 i_aS3j ioc_aRWJ) (Boundary i_aRWI ioc_aRWJ) (Boundary i_aS3j ioc_aRWJ)
+ Data.PrimitiveArray.Index.BitSet1: boundary :: forall i_aUh6 ioc_aUh7 i_aUnH. Lens (BitSet1 i_aUh6 ioc_aUh7) (BitSet1 i_aUnH ioc_aUh7) (Boundary i_aUh6 ioc_aUh7) (Boundary i_aUnH ioc_aUh7)
- Data.PrimitiveArray.Index.Point: streamDownStep :: Monad m => Int -> SP z -> m (Step (SP z) (z :. PointL t))
+ Data.PrimitiveArray.Index.Point: streamDownStep :: Monad m => (Int -> b) -> Int -> SP z -> m (Step (SP z) (z :. b))
- Data.PrimitiveArray.Index.Point: streamUpStep :: Monad m => Int -> SP z -> m (Step (SP z) (z :. PointL t))
+ Data.PrimitiveArray.Index.Point: streamUpStep :: Monad m => (Int -> b) -> Int -> SP z -> m (Step (SP z) (z :. b))
Files
- Data/PrimitiveArray/Index/Class.hs +36/−2
- Data/PrimitiveArray/Index/Point.hs +94/−39
- PrimitiveArray.cabal +48/−47
- changelog.md +5/−0
Data/PrimitiveArray/Index/Class.hs view
@@ -3,6 +3,7 @@ import Control.Applicative import Control.DeepSeq (NFData(..))+import Control.Lens hiding (Index, (:>)) import Control.Monad.Except import Control.Monad (liftM2) import Data.Aeson@@ -16,9 +17,11 @@ import Data.Vector.Unboxed.Deriving import Data.Vector.Unboxed (Unbox(..)) import GHC.Generics+import GHC.TypeNats import qualified Data.Vector.Fusion.Stream.Monadic as SM import Test.QuickCheck import Text.Printf+import Data.Type.Equality @@ -53,8 +56,6 @@ arbitrary = liftM2 (:.) arbitrary arbitrary shrink (a:.b) = [ (a':.b) | a' <- shrink a ] ++ [ (a:.b') | b' <- shrink b ] -- infixr 3 :> -- | A different version of strict pairs. Makes for simpler type inference in@@ -255,4 +256,37 @@ -- {-# INLINE size #-} -- inBounds (hs:>h) (zs:>z) = inBounds hs zs && inBounds h z -- {-# INLINE inBounds #-}++++-- * Somewhat experimental lens support.+--+-- The problem here is that tuples are n-ary, while inductive tuples are+-- binary, recursive.++instance Field1 (Z:.a) (Z:.a') a a' where+ {-# Inline _1 #-}+ _1 = lens (\(Z:.a) → a) (\(Z:._) a → (Z:.a))++instance Field1 (Z:.a:.b) (Z:.a':.b) a a' where+ {-# Inline _1 #-}+ _1 = lens (\(Z:.a:.b) → a) (\(Z:._:.b) a → (Z:.a:.b))++instance Field1 (Z:.a:.b:.c) (Z:.a':.b:.c) a a' where+ {-# Inline _1 #-}+ _1 = lens (\(Z:.a:.b:.c) → a) (\(Z:._:.b:.c) a → (Z:.a:.b:.c))+++instance Field2 (Z:.a:.b) (Z:.a:.b') b b' where+ {-# Inline _2 #-}+ _2 = lens (\(Z:.a:.b) → b) (\(Z:.a:._) b → (Z:.a:.b))++instance Field2 (Z:.a:.b:.c) (Z:.a:.b':.c) b b' where+ {-# Inline _2 #-}+ _2 = lens (\(Z:.a:.b:.c) → b) (\(Z:.a:._:.c) b → (Z:.a:.b:.c))+++instance Field3 (Z:.a:.b:.c) (Z:.a:.b:.c') c c' where+ {-# Inline _3 #-}+ _3 = lens (\(Z:.a:.b:.c) → c) (\(Z:.a:.b:._) c → (Z:.a:.b:.c))
Data/PrimitiveArray/Index/Point.hs view
@@ -47,13 +47,8 @@ pointLC = PointL {-# Inline pointLC #-} --- | A point in a right-linear grammars. -newtype PointR t = PointR {fromPointR :: Int}- deriving (Eq,Ord,Read,Show,Generic) -- derivingUnbox "PointL" [t| forall t . PointL t -> Int |] [| \ (PointL i) -> i |]@@ -92,20 +87,20 @@ deriving instance Show (LimitType (PointL t)) instance IndexStream z => IndexStream (z:.PointL I) where- streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep ht) $ streamUp ls hs- streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep lf) $ streamDown ls hs+ streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep PointL ht) $ streamUp ls hs+ streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep PointL lf) $ streamDown ls hs {-# Inline [0] streamUp #-} {-# Inline [0] streamDown #-} instance IndexStream z => IndexStream (z:.PointL O) where- streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep lf) $ streamUp ls hs- streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep ht) $ streamDown ls hs+ streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep PointL lf) $ streamUp ls hs+ streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep PointL ht) $ streamDown ls hs {-# Inline [0] streamUp #-} {-# Inline [0] streamDown #-} instance IndexStream z => IndexStream (z:.PointL C) where- streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep ht) $ streamUp ls hs- streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep lf) $ streamDown ls hs+ streamUp (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamUpMk lf) (streamUpStep PointL ht) $ streamUp ls hs+ streamDown (ls:..LtPointL lf) (hs:..LtPointL ht) = SM.flatten (streamDownMk ht) (streamDownStep PointL lf) $ streamDown ls hs {-# Inline [0] streamUp #-} {-# Inline [0] streamDown #-} @@ -114,17 +109,17 @@ streamUpMk (I# lf) z = return $ SP z lf {-# Inline [0] streamUpMk #-} -streamUpStep (I# ht) (SP z k)+streamUpStep wrapper (I# ht) (SP z k) | 1# <- k ># ht = return $ SM.Done- | otherwise = return $ SM.Yield (z:.PointL (I# k)) (SP z (k +# 1#))+ | otherwise = return $ SM.Yield (z:.wrapper (I# k)) (SP z (k +# 1#)) {-# Inline [0] streamUpStep #-} streamDownMk (I# ht) z = return $ SP z ht {-# Inline [0] streamDownMk #-} -streamDownStep (I# lf) (SP z k)+streamDownStep wrapper (I# lf) (SP z k) | 1# <- k <# lf = return $ SM.Done- | otherwise = return $ SM.Yield (z:.PointL (I# k)) (SP z (k -# 1#))+ | otherwise = return $ SM.Yield (z:.wrapper (I# k)) (SP z (k -# 1#)) {-# Inline [0] streamDownStep #-} instance IndexStream (Z:.PointL t) => IndexStream (PointL t) where@@ -147,28 +142,88 @@ --- -- * @PointR@--- ----- -- TODO complete instances--- --- derivingUnbox "PointR"--- [t| forall t . PointR t -> Int |]--- [| \ (PointR i) -> i |]--- [| \ i -> PointR i |]--- --- instance Binary (PointR t)--- instance Serialize (PointR t)--- instance FromJSON (PointR t)--- instance ToJSON (PointR t)--- instance Hashable (PointR t)--- --- instance NFData (PointR t) where--- rnf (PointR l) = rnf l--- {-# Inline rnf #-}--- --- instance Index (PointR t) where--- linearIndex l (PointR z) = undefined--- {-# INLINE linearIndex #-}--- size = undefined--- {-# INLINE size #-}+-- * @PointR@++-- | A point in a right-linear grammars.++newtype PointR t = PointR {fromPointR :: Int}+ deriving (Eq,Ord,Read,Show,Generic)++++derivingUnbox "PointR"+ [t| forall t . PointR t -> Int |]+ [| \ (PointR i) -> i |]+ [| \ i -> PointR i |]++instance Binary (PointR t)+instance Serialize (PointR t)+instance FromJSON (PointR t)+instance FromJSONKey (PointR t)+instance ToJSON (PointR t)+instance ToJSONKey (PointR t)+instance Hashable (PointR t)++instance NFData (PointR t) where+ rnf (PointR l) = rnf l+ {-# Inline rnf #-}++instance Index (PointR t) where+ newtype LimitType (PointR t) = LtPointR Int+ linearIndex _ (PointR z) = z+ {-# INLINE linearIndex #-}+ size (LtPointR h) = h + 1+ {-# INLINE size #-}+ inBounds (LtPointR h) (PointR x) = 0<=x && x<=h+ {-# INLINE inBounds #-}+ zeroBound = PointR 0+ {-# Inline [0] zeroBound #-}+ zeroBound' = LtPointR 0+ {-# Inline [0] zeroBound' #-}+ totalSize (LtPointR h) = [fromIntegral $ h + 1]+ {-# Inline [0] totalSize #-}++deriving instance Eq (LimitType (PointR t))+deriving instance Generic (LimitType (PointR t))+deriving instance Read (LimitType (PointR t))+deriving instance Show (LimitType (PointR t))++instance IndexStream z => IndexStream (z:.PointR I) where+ streamUp (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamDownMk ht) (streamDownStep PointR lf) $ streamUp ls hs+ streamDown (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamUpMk lf) (streamUpStep PointR ht) $ streamDown ls hs+ {-# Inline [0] streamUp #-}+ {-# Inline [0] streamDown #-}++instance IndexStream z => IndexStream (z:.PointR O) where+ streamUp (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamUpMk lf) (streamUpStep PointR ht) $ streamUp ls hs+ streamDown (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamDownMk ht) (streamDownStep PointR lf) $ streamDown ls hs+ {-# Inline [0] streamUp #-}+ {-# Inline [0] streamDown #-}++--instance IndexStream z => IndexStream (z:.PointR C) where+-- streamUp (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamUpMkR lf) (streamUpStepR ht) $ streamUp ls hs+-- streamDown (ls:..LtPointR lf) (hs:..LtPointR ht) = SM.flatten (streamDownMkR ht) (streamDownStepR lf) $ streamDown ls hs+-- {-# Inline [0] streamUp #-}+-- {-# Inline [0] streamDown #-}++instance IndexStream (Z:.PointR t) => IndexStream (PointR t) where+ streamUp l h = SM.map (\(Z:.i) -> i) $ streamUp (ZZ:..l) (ZZ:..h)+ {-# INLINE streamUp #-}+ streamDown l h = SM.map (\(Z:.i) -> i) $ streamDown (ZZ:..l) (ZZ:..h)+ {-# INLINE streamDown #-}++-- arbitrarily set maximum here to++arbMaxPointR = 100++instance Arbitrary (PointR t) where+ arbitrary = do+ b <- choose (0,arbMaxPointR)+ return $ PointR b+ shrink (PointR j)+ | j<arbMaxPointR = [PointR $ j+1]+ | otherwise = []++--instance Monad m => Serial m (PointR t) where+-- series = PointR . TS.getNonNegative <$> series
PrimitiveArray.cabal view
@@ -1,16 +1,16 @@+Cabal-version: 2.2 Name: PrimitiveArray-Version: 0.9.0.0-License: BSD3+Version: 0.9.1.0+License: BSD-3-Clause License-file: LICENSE Maintainer: choener@bioinf.uni-leipzig.de-author: Christian Hoener zu Siederdissen, 2011-2018-copyright: Christian Hoener zu Siederdissen, 2011-2018+author: Christian Hoener zu Siederdissen, 2011-2019+copyright: Christian Hoener zu Siederdissen, 2011-2019 homepage: https://github.com/choener/PrimitiveArray bug-reports: https://github.com/choener/PrimitiveArray/issues Stability: Experimental Category: Data Build-type: Simple-Cabal-version: >=1.10.0 tested-with: GHC == 8.4.4 Synopsis: Efficient multidimensional arrays Description:@@ -54,36 +54,14 @@ -Library- Exposed-modules:- Data.PrimitiveArray- Data.PrimitiveArray.Checked- Data.PrimitiveArray.Class- Data.PrimitiveArray.Dense--- Data.PrimitiveArray.FillTables- Data.PrimitiveArray.Index- Data.PrimitiveArray.Index.BitSet0- Data.PrimitiveArray.Index.BitSet1- Data.PrimitiveArray.Index.BitSetClasses--- Data.PrimitiveArray.Index.BS0--- Data.PrimitiveArray.Index.BS2- Data.PrimitiveArray.Index.Class--- Data.PrimitiveArray.Index.EdgeBoundary- Data.PrimitiveArray.Index.Int- Data.PrimitiveArray.Index.IOC- Data.PrimitiveArray.Index.PhantomInt- Data.PrimitiveArray.Index.Point--- Data.PrimitiveArray.Index.Set- Data.PrimitiveArray.Index.Subword--- Data.PrimitiveArray.Index.TernarySet- Data.PrimitiveArray.Index.Unit- Data.PrimitiveArray.ScoreMatrix+common deps build-depends: base >= 4.7 && < 5.0 , aeson >= 0.8 , binary >= 0.7 , bits >= 0.4 , cereal >= 0.4 , cereal-vector >= 0.2+ , containers , deepseq >= 1.3 , hashable >= 1.2 , lens >= 4.0@@ -92,20 +70,26 @@ , primitive >= 0.5.4 , QuickCheck >= 2.7 , smallcheck >= 1.1+ , tasty >= 0.11+ , tasty-quickcheck >= 0.8+ , tasty-smallcheck >= 0.8+ , tasty-th >= 0.1 , text >= 1.0 , vector >= 0.11 , vector-binary-instances >= 0.2 , vector-th-unbox >= 0.2 --- , DPutils == 0.0.2.*+ , DPutils == 0.1.0.* , OrderedBits == 0.0.1.* default-extensions: BangPatterns , CPP+ , DataKinds , DefaultSignatures , DeriveDataTypeable , DeriveGeneric , FlexibleContexts , FlexibleInstances+ , FunctionalDependencies , GADTs , GeneralizedNewtypeDeriving , MultiParamTypeClasses@@ -115,6 +99,7 @@ , ScopedTypeVariables , StandaloneDeriving , TemplateHaskell+ , TypeApplications , TypeFamilies , TypeOperators , UndecidableInstances@@ -132,7 +117,38 @@ +Library+ import:+ deps+ Exposed-modules:+ Data.PrimitiveArray+ Data.PrimitiveArray.Checked+ Data.PrimitiveArray.Class+ Data.PrimitiveArray.Dense+-- Data.PrimitiveArray.FillTables+ Data.PrimitiveArray.Index+ Data.PrimitiveArray.Index.BitSet0+ Data.PrimitiveArray.Index.BitSet1+ Data.PrimitiveArray.Index.BitSetClasses+-- Data.PrimitiveArray.Index.BS0+-- Data.PrimitiveArray.Index.BS2+ Data.PrimitiveArray.Index.Class+-- Data.PrimitiveArray.Index.EdgeBoundary+ Data.PrimitiveArray.Index.Int+ Data.PrimitiveArray.Index.IOC+ Data.PrimitiveArray.Index.PhantomInt+ Data.PrimitiveArray.Index.Point+-- Data.PrimitiveArray.Index.Set+ Data.PrimitiveArray.Index.Subword+-- Data.PrimitiveArray.Index.TernarySet+ Data.PrimitiveArray.Index.Unit+ Data.PrimitiveArray.ScoreMatrix+++ test-suite properties+ import:+ deps type: exitcode-stdio-1.0 main-is:@@ -142,25 +158,10 @@ SmallCheck Common ghc-options:- -O2 -threaded -rtsopts -with-rtsopts=-N+ -threaded -rtsopts -with-rtsopts=-N hs-source-dirs: tests- default-language:- Haskell2010- default-extensions: CPP- , ScopedTypeVariables- , TemplateHaskell- , UnicodeSyntax- build-depends: base- , containers- , QuickCheck- , smallcheck- , tasty >= 0.11- , tasty-quickcheck >= 0.8- , tasty-smallcheck >= 0.8- , tasty-th >= 0.1- --- , PrimitiveArray+ build-depends: PrimitiveArray
changelog.md view
@@ -1,3 +1,8 @@+0.9.1.0+-------++- Arbitrary instance(s), field lenses that are probably not a good idea (don't use them!)+ 0.9.0.0 -------