binary-list 1.1.0.0 → 1.1.0.1
raw patch · 2 files changed
+29/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.BinaryList: instance Data.Foldable.Foldable Data.BinaryList.Internal.BinList
- Data.BinaryList: instance Data.Traversable.Traversable Data.BinaryList.Internal.BinList
- Data.BinaryList: instance GHC.Base.Functor Data.BinaryList.Internal.BinList
- Data.BinaryList: instance GHC.Show.Show a => GHC.Show.Show (Data.BinaryList.Internal.BinList a)
- Data.BinaryList.Serialize: [decData] :: DecodedBinList a -> Decoded a
- Data.BinaryList.Serialize: [decDirection] :: DecodedBinList a -> Direction
- Data.BinaryList.Serialize: [decLength] :: DecodedBinList a -> Exponent
- Data.BinaryList.Serialize: [encData] :: EncodedBinList -> ByteString
- Data.BinaryList.Serialize: [encDirection] :: EncodedBinList -> Direction
- Data.BinaryList.Serialize: [encLength] :: EncodedBinList -> Exponent
- Data.BinaryList.Serialize: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.BinaryList.Serialize.Decoded a)
- Data.BinaryList.Serialize: instance GHC.Classes.Eq Data.BinaryList.Serialize.Direction
- Data.BinaryList.Serialize: instance GHC.Show.Show Data.BinaryList.Serialize.Direction
- Data.BinaryList.Serialize: instance GHC.Show.Show a => GHC.Show.Show (Data.BinaryList.Serialize.Decoded a)
+ Data.BinaryList: instance Foldable BinList
+ Data.BinaryList: instance Functor BinList
+ Data.BinaryList: instance Show a => Show (BinList a)
+ Data.BinaryList: instance Traversable BinList
+ Data.BinaryList: length :: BinList a -> Int
+ Data.BinaryList.Serialize: decData :: DecodedBinList a -> Decoded a
+ Data.BinaryList.Serialize: decDirection :: DecodedBinList a -> Direction
+ Data.BinaryList.Serialize: decLength :: DecodedBinList a -> Exponent
+ Data.BinaryList.Serialize: encData :: EncodedBinList -> ByteString
+ Data.BinaryList.Serialize: encDirection :: EncodedBinList -> Direction
+ Data.BinaryList.Serialize: encLength :: EncodedBinList -> Exponent
+ Data.BinaryList.Serialize: instance Eq Direction
+ Data.BinaryList.Serialize: instance NFData a => NFData (Decoded a)
+ Data.BinaryList.Serialize: instance Show Direction
+ Data.BinaryList.Serialize: instance Show a => Show (Decoded a)
Files
- Data/BinaryList.hs +27/−0
- binary-list.cabal +2/−1
Data/BinaryList.hs view
@@ -1,4 +1,6 @@ +{-# LANGUAGE CPP #-}+ -- | Binary lists are lists whose number of elements is a power of two. -- This data structure is efficient for some computations like: --@@ -44,6 +46,9 @@ , generateM -- * Queries , lengthExponent+#if !MIN_VERSION_base(4,8,0)+ , length+#endif , lookup , head , last@@ -79,7 +84,11 @@ , reverse, replicate , take, lookup , zip, unzip, zipWith+ , foldr1, length, foldr )+#if MIN_VERSION_base(4,8,0)+import Prelude (length, foldr, foldr1)+#endif import Data.Foldable (fold,toList) import Foreign.Storable (sizeOf) import Data.List (find)@@ -96,6 +105,22 @@ import Control.Applicative.PhantomState import Data.Word (Word8) +-- GHC-7.8 compatibility+#if !MIN_VERSION_base(4,8,0)++import qualified Prelude+import Data.Foldable (Foldable (..))+import Data.Traversable (Traversable (..))+import Control.Applicative (Applicative (..), (<$>))+import Data.Monoid (mappend)++-- | /O(1)/. Number of elements in the list.+length :: BinList a -> Int+length = (2^) . lengthExponent++#endif++ -- | An exponent. type Exponent = Word8 @@ -541,7 +566,9 @@ fold = foldr1 mappend foldl1 = foldr1 foldMap f = fold . fmap f+#if MIN_VERSION_base(4,8,0) length = (2^) . lengthExponent+#endif instance Traversable BinList where sequenceA (ListEnd f) = ListEnd <$> f
binary-list.cabal view
@@ -1,5 +1,5 @@ name: binary-list-version: 1.1.0.0+version: 1.1.0.1 synopsis: Lists of length a power of two. description: Implementation of lists whose number of elements is a power of two. Binary lists have this property by definition,@@ -39,6 +39,7 @@ , deepseq default-language: Haskell2010 ghc-options: -Wall -fno-warn-orphans+ default-extensions: CPP Source-repository head type: git