machines-binary 0.2.0.0 → 0.3.0.0
raw patch · 4 files changed
+8/−34 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Data.Binary.Get.Machine: processDecoder :: Monad m => Decoder a -> ProcessT m ByteString a
- Data.Binary.Get.Machine: processGet :: Monad m => Get a -> ProcessT m ByteString a
- Data.Binary.Put.Machine: processPut :: Monad m => (a -> Put) -> ProcessT m a ByteString
- Data.Binary.Machine: processDecoder :: Monad m => Decoder a -> ProcessT m ByteString a
+ Data.Binary.Machine: processDecoder :: Monad m => Decoder a -> ProcessT m ByteString (Either String a)
- Data.Binary.Machine: processDecoder' :: Monad m => Decoder a -> ProcessT m ByteString a -> ProcessT m ByteString a
+ Data.Binary.Machine: processDecoder' :: Monad m => Decoder a -> ProcessT m ByteString (Either String a) -> ProcessT m ByteString (Either String a)
- Data.Binary.Machine: processGet :: Monad m => Get a -> ProcessT m ByteString a
+ Data.Binary.Machine: processGet :: Monad m => Get a -> ProcessT m ByteString (Either String a)
- Data.Binary.Machine: streamGet :: Monad m => Get a -> ProcessT m ByteString a
+ Data.Binary.Machine: streamGet :: Monad m => Get a -> ProcessT m ByteString (Either String a)
Files
- machines-binary.cabal +1/−3
- src/Data/Binary/Get/Machine.hs +0/−15
- src/Data/Binary/Machine.hs +7/−8
- src/Data/Binary/Put/Machine.hs +0/−8
machines-binary.cabal view
@@ -1,5 +1,5 @@ name: machines-binary-version: 0.2.0.0+version: 0.3.0.0 synopsis: Binary utilities for the machines library homepage: http://github.com/aloiscochard/machines-binary license: Apache-2.0@@ -16,8 +16,6 @@ ghc-options: -Wall exposed-modules: Data.Binary.Machine- Data.Binary.Get.Machine- Data.Binary.Put.Machine build-depends: base >=4.6 && < 5 , binary >= 0.7 && < 0.8
− src/Data/Binary/Get/Machine.hs
@@ -1,15 +0,0 @@-module Data.Binary.Get.Machine where--import Data.ByteString (ByteString)-import Data.Binary.Get (Decoder(..), Get, pushChunk, runGetIncremental)-import Data.Machine (MachineT(..), ProcessT, Step(Await, Yield), Is(Refl), stopped)--processGet :: Monad m => Get a -> ProcessT m ByteString a-processGet getA = processDecoder (runGetIncremental getA)--processDecoder :: Monad m => Decoder a -> ProcessT m ByteString a-processDecoder decA = MachineT . return $ Await f Refl stopped where- f xs = case pushChunk decA xs of- -- TODO Add `Fail` case- Done _ _ a -> MachineT . return $ Yield a stopped- decA' -> processDecoder decA'
src/Data/Binary/Machine.hs view
@@ -7,23 +7,22 @@ import qualified Data.ByteString.Lazy as Lazy -streamGet :: Monad m => Get a -> ProcessT m ByteString a+streamGet :: Monad m => Get a -> ProcessT m ByteString (Either String a) streamGet getA = processDecoder' (runGetIncremental getA) (streamGet getA) -processGet :: Monad m => Get a -> ProcessT m ByteString a+processGet :: Monad m => Get a -> ProcessT m ByteString (Either String a) processGet getA = processDecoder (runGetIncremental getA) -processDecoder :: Monad m => Decoder a -> ProcessT m ByteString a+processDecoder :: Monad m => Decoder a -> ProcessT m ByteString (Either String a) processDecoder decA = processDecoder' decA stopped -processDecoder' :: Monad m => Decoder a -> ProcessT m ByteString a -> ProcessT m ByteString a+processDecoder' :: Monad m => Decoder a -> ProcessT m ByteString (Either String a) -> ProcessT m ByteString (Either String a) processDecoder' decA r = MachineT . return $ Await f Refl stopped where f xs = case pushChunk decA xs of- -- TODO Add `Fail` case- Fail _ _ s -> error s- Done _ _ a -> MachineT . return $ Yield a r+ Fail _ _ e -> yield' $ Left e+ Done _ _ a -> yield' $ Right a decA' -> processDecoder' decA' r- -- decA' -> error "foo"+ yield' ea = MachineT . return $ Yield ea r processPut :: Monad m => (a -> Put) -> ProcessT m a ByteString processPut f = auto $ Lazy.toStrict . runPut . f
− src/Data/Binary/Put/Machine.hs
@@ -1,8 +0,0 @@-module Data.Binary.Put.Machine where--import Data.ByteString.Lazy (ByteString)-import Data.Binary.Put (Put, runPut)-import Data.Machine--processPut :: Monad m => (a -> Put) -> ProcessT m a ByteString-processPut f = repeatedly $ await >>= g where g = yield . runPut . f