chunked-data 0.2.0 → 0.3.0
raw patch · 6 files changed
+30/−83 lines, 6 filesdep −blaze-builderdep −mono-traversabledep ~bytestringdep ~textPVP ok
version bump matches the API change (PVP)
Dependencies removed: blaze-builder, mono-traversable
Dependency ranges changed: bytestring, text
API changes (from Hackage documentation)
- Data.Builder: instance Builder Builder ByteString
- Data.Builder: instance Builder Builder Text
- Data.Builder: instance ToBuilder Builder Builder
- Data.Builder: instance ToBuilder ByteString Builder
- Data.Builder: instance ToBuilder Char Builder
- Data.Builder: instance ToBuilder Text Builder
- Data.Builder: instance a ~ Char => ToBuilder [a] Builder
- Data.ChunkedZip: instance (Zip f, Zip g) => Zip (Compose f g)
- Data.ChunkedZip: instance Zip ((->) a)
- Data.ChunkedZip: instance Zip IntMap
- Data.ChunkedZip: instance Zip NonEmpty
- Data.ChunkedZip: instance Zip Seq
- Data.ChunkedZip: instance Zip Tree
- Data.ChunkedZip: instance Zip Vector
- Data.ChunkedZip: instance Zip []
- Data.ChunkedZip: instance Zip m => Zip (IdentityT m)
- Data.ChunkedZip: instance Zip m => Zip (ReaderT e m)
- Data.ChunkedZip: instance Zip3 Seq
- Data.ChunkedZip: instance Zip3 Vector
- Data.ChunkedZip: instance Zip3 []
- Data.ChunkedZip: instance Zip4 Seq
- Data.ChunkedZip: instance Zip4 Vector
- Data.ChunkedZip: instance Zip4 []
- Data.ChunkedZip: instance Zip5 Vector
- Data.ChunkedZip: instance Zip5 []
- Data.ChunkedZip: instance Zip6 Vector
- Data.ChunkedZip: instance Zip6 []
- Data.ChunkedZip: instance Zip7 []
- Data.IOData: instance Char ~ c => IOData [c]
- Data.IOData: instance IOData ByteString
- Data.IOData: instance IOData Text
- Data.Sequences.Lazy: class (IsSequence lazy, IsSequence strict) => LazySequence lazy strict | lazy -> strict, strict -> lazy
- Data.Sequences.Lazy: fromChunks :: LazySequence lazy strict => [strict] -> lazy
- Data.Sequences.Lazy: fromStrict :: LazySequence lazy strict => strict -> lazy
- Data.Sequences.Lazy: instance LazySequence ByteString ByteString
- Data.Sequences.Lazy: instance LazySequence Text Text
- Data.Sequences.Lazy: toChunks :: LazySequence lazy strict => lazy -> [strict]
- Data.Sequences.Lazy: toStrict :: LazySequence lazy strict => lazy -> strict
- Data.Textual.Encoding: class (Textual textual, IsSequence binary) => Utf8 textual binary | textual -> binary, binary -> textual
- Data.Textual.Encoding: decodeUtf8 :: Utf8 textual binary => binary -> textual
- Data.Textual.Encoding: encodeUtf8 :: Utf8 textual binary => textual -> binary
- Data.Textual.Encoding: instance (c ~ Char, w ~ Word8) => Utf8 [c] [w]
- Data.Textual.Encoding: instance Utf8 Text ByteString
+ Data.Builder: instance Data.Builder.Builder Data.ByteString.Builder.Internal.Builder Data.ByteString.Lazy.Internal.ByteString
+ Data.Builder: instance Data.Builder.Builder Data.Text.Internal.Builder.Builder Data.Text.Internal.Lazy.Text
+ Data.Builder: instance Data.Builder.ToBuilder Data.ByteString.Builder.Internal.Builder Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.ByteString.Internal.ByteString Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.Text.Internal.Builder.Builder Data.Text.Internal.Builder.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.Text.Internal.Lazy.Text Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.Text.Internal.Lazy.Text Data.Text.Internal.Builder.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.Text.Internal.Text Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder Data.Text.Internal.Text Data.Text.Internal.Builder.Builder
+ Data.Builder: instance Data.Builder.ToBuilder GHC.Types.Char Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance Data.Builder.ToBuilder GHC.Types.Char Data.Text.Internal.Builder.Builder
+ Data.Builder: instance a ~ GHC.Types.Char => Data.Builder.ToBuilder [a] Data.ByteString.Builder.Internal.Builder
+ Data.Builder: instance a ~ GHC.Types.Char => Data.Builder.ToBuilder [a] Data.Text.Internal.Builder.Builder
+ Data.ChunkedZip: instance (Data.ChunkedZip.Zip f, Data.ChunkedZip.Zip g) => Data.ChunkedZip.Zip (Data.Functor.Compose.Compose f g)
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip ((->) a)
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip Data.IntMap.Base.IntMap
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip Data.List.NonEmpty.NonEmpty
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip Data.Sequence.Seq
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip Data.Tree.Tree
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip Data.Vector.Vector
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip []
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip m => Data.ChunkedZip.Zip (Control.Monad.Trans.Identity.IdentityT m)
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip m => Data.ChunkedZip.Zip (Control.Monad.Trans.Reader.ReaderT e m)
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip3 Data.Sequence.Seq
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip3 Data.Vector.Vector
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip3 []
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip4 Data.Sequence.Seq
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip4 Data.Vector.Vector
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip4 []
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip5 Data.Vector.Vector
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip5 []
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip6 Data.Vector.Vector
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip6 []
+ Data.ChunkedZip: instance Data.ChunkedZip.Zip7 []
+ Data.IOData: instance Data.IOData.IOData Data.ByteString.Internal.ByteString
+ Data.IOData: instance Data.IOData.IOData Data.ByteString.Lazy.Internal.ByteString
+ Data.IOData: instance Data.IOData.IOData Data.Text.Internal.Lazy.Text
+ Data.IOData: instance Data.IOData.IOData Data.Text.Internal.Text
+ Data.IOData: instance GHC.Types.Char ~ c => Data.IOData.IOData [c]
- Data.IOData: class IsSequence a => IOData a
+ Data.IOData: class IOData a
Files
- ChangeLog.md +6/−0
- Data/Builder.hs +14/−8
- Data/IOData.hs +5/−7
- Data/Sequences/Lazy.hs +0/−28
- Data/Textual/Encoding.hs +0/−31
- chunked-data.cabal +5/−9
ChangeLog.md view
@@ -1,3 +1,9 @@+## 0.3.0++* Move `Data.Sequences.Lazy` to `mono-traversable` 1.0.0+* Move `Data.Textual.Encoding` to `mono-traversable` 1.0.0+* Switch from blaze-builder to bytestring 0.10.2 or later+ ## 0.2.0 * Move away from system-filepath
Data/Builder.hs view
@@ -22,15 +22,21 @@ import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L-import qualified Blaze.ByteString.Builder as BB-import qualified Blaze.ByteString.Builder.Char.Utf8 as BB+import qualified Data.ByteString.Builder as BB+import qualified Data.ByteString.Builder.Extra as BB (flush) +import qualified Data.Text.Encoding as TE+import qualified Data.Text.Lazy.Encoding as TLE+ -- | Since 0.1.0.0 type TextBuilder = TB.Builder -- | Since 0.1.0.0 type BlazeBuilder = BB.Builder +-- | Since 0.3.0.0+type ByteStringBuilder = BB.Builder+ -- | Since 0.1.0.0 class Monoid builder => Builder builder lazy | builder -> lazy, lazy -> builder where -- | Since 0.1.0.0@@ -68,18 +74,18 @@ instance ToBuilder BB.Builder BB.Builder where toBuilder = id instance ToBuilder T.Text BB.Builder where- toBuilder = BB.fromText+ toBuilder = TE.encodeUtf8Builder instance ToBuilder TL.Text BB.Builder where- toBuilder = BB.fromLazyText+ toBuilder = TLE.encodeUtf8Builder instance ToBuilder Char BB.Builder where- toBuilder = BB.fromChar+ toBuilder = toBuilder . T.singleton instance (a ~ Char) => ToBuilder [a] BB.Builder where- toBuilder = BB.fromString+ toBuilder = toBuilder . TL.pack instance ToBuilder S.ByteString BB.Builder where- toBuilder = BB.fromByteString+ toBuilder = BB.byteString instance ToBuilder L.ByteString BB.Builder where- toBuilder = BB.fromLazyByteString+ toBuilder = BB.lazyByteString -- | Provided for type disambiguation in the presence of OverloadedStrings. --
Data/IOData.hs view
@@ -8,8 +8,6 @@ import qualified Data.ByteString.Char8 as ByteString8 import qualified Data.ByteString.Lazy as LByteString import Data.ByteString.Lazy.Internal (defaultChunkSize)-import Data.Sequences (IsSequence)-import Data.Sequences.Lazy (fromStrict) import qualified Data.Text as Text import qualified Data.Text.IO as Text import qualified Data.Text.Lazy as LText@@ -28,7 +26,7 @@ -- -- Note that, for lazy sequences, these operations may perform -- lazy I\/O.-class IsSequence a => IOData a where+class IOData a where readFile :: MonadIO m => FilePath -> m a writeFile :: MonadIO m => FilePath -> a -> m () getLine :: MonadIO m => m a@@ -49,14 +47,14 @@ instance IOData LByteString.ByteString where readFile = liftIO . LByteString.readFile writeFile fp = liftIO . LByteString.writeFile fp- getLine = liftM fromStrict (liftIO ByteString.getLine)+ getLine = liftM LByteString.fromStrict (liftIO ByteString.getLine) hGetContents = liftIO . LByteString.hGetContents- hGetLine = liftM fromStrict . liftIO . ByteString.hGetLine+ hGetLine = liftM LByteString.fromStrict . liftIO . ByteString.hGetLine hPut h = liftIO . LByteString.hPut h hPutStrLn h lbs = liftIO $ do LByteString.hPutStr h lbs ByteString8.hPutStrLn h ByteString.empty- hGetChunk = liftM fromStrict . hGetChunk+ hGetChunk = liftM LByteString.fromStrict . hGetChunk instance IOData Text.Text where readFile = liftIO . Text.readFile writeFile fp = liftIO . Text.writeFile fp@@ -85,7 +83,7 @@ hGetLine = liftIO . LText.hGetLine hPut h = liftIO . LText.hPutStr h hPutStrLn h = liftIO . LText.hPutStrLn h- hGetChunk = liftM fromStrict . hGetChunk+ hGetChunk = liftM LText.fromStrict . hGetChunk instance (Char ~ c) => IOData [c] where readFile = liftIO . Prelude.readFile writeFile fp = liftIO . Prelude.writeFile fp
− Data/Sequences/Lazy.hs
@@ -1,28 +0,0 @@-{-# LANGUAGE FunctionalDependencies #-}-{-# LANGUAGE MultiParamTypeClasses #-}-module Data.Sequences.Lazy where--import qualified Data.ByteString as S-import qualified Data.ByteString.Lazy as L-import Data.Sequences-import qualified Data.Text as T-import qualified Data.Text.Lazy as TL---- | Lazy sequences containing strict chunks of data.-class (IsSequence lazy, IsSequence strict) => LazySequence lazy strict | lazy -> strict, strict -> lazy where- toChunks :: lazy -> [strict]- fromChunks :: [strict] -> lazy- toStrict :: lazy -> strict- fromStrict :: strict -> lazy--instance LazySequence L.ByteString S.ByteString where- toChunks = L.toChunks- fromChunks = L.fromChunks- toStrict = S.concat . L.toChunks- fromStrict = L.fromChunks . return--instance LazySequence TL.Text T.Text where- toChunks = TL.toChunks- fromChunks = TL.fromChunks- toStrict = TL.toStrict- fromStrict = TL.fromStrict
− Data/Textual/Encoding.hs
@@ -1,31 +0,0 @@-{-# LANGUAGE FunctionalDependencies #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE UndecidableInstances #-}-module Data.Textual.Encoding where--import qualified Data.ByteString as S-import qualified Data.ByteString.Lazy as L-import Data.Sequences-import qualified Data.Text as T-import qualified Data.Text.Encoding as T-import Data.Text.Encoding.Error (lenientDecode)-import qualified Data.Text.Lazy as TL-import qualified Data.Text.Lazy.Encoding as TL-import Data.Word (Word8)---- | Textual data which can be encoded to and decoded from UTF8.-class (Textual textual, IsSequence binary) => Utf8 textual binary | textual -> binary, binary -> textual where- encodeUtf8 :: textual -> binary- -- | Note that this function is required to be pure. In the case of- -- a decoding error, Unicode replacement characters must be used.- decodeUtf8 :: binary -> textual-instance (c ~ Char, w ~ Word8) => Utf8 [c] [w] where- encodeUtf8 = L.unpack . TL.encodeUtf8 . TL.pack- decodeUtf8 = TL.unpack . TL.decodeUtf8With lenientDecode . L.pack-instance Utf8 T.Text S.ByteString where- encodeUtf8 = T.encodeUtf8- decodeUtf8 = T.decodeUtf8With lenientDecode-instance Utf8 TL.Text L.ByteString where- encodeUtf8 = TL.encodeUtf8- decodeUtf8 = TL.decodeUtf8With lenientDecode
chunked-data.cabal view
@@ -1,8 +1,8 @@ name: chunked-data-version: 0.2.0+version: 0.3.0 synopsis: Typeclasses for dealing with various chunked data representations description: Originally present in classy-prelude.-homepage: https://github.com/fpco/chunked-data+homepage: https://github.com/snoyberg/mono-traversable license: MIT license-file: LICENSE author: Michael Snoyman@@ -14,20 +14,16 @@ library exposed-modules: Data.IOData- Data.Textual.Encoding- Data.Sequences.Lazy Data.Builder Data.ChunkedZip build-depends: base >= 4 && < 5 , transformers- , bytestring- , mono-traversable >=0.2- , text >= 0.11- , blaze-builder+ , bytestring >= 0.10.2+ , text >= 1.2 , containers , vector , semigroups source-repository head type: git- location: git://github.com/fpco/chunked-data.git+ location: https://github.com/snoyberg/mono-traversable.git