-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A port of @Data.Binary@ -- -- -- A port of Data.Binary that tightens up data types and -- parameterises error messages @package tickle @version 0.0.2 module Data.Tickle.RunGetResult data RunGetResult e a -- |
-- >>> runGetResult (+) (*2) (_RunGet # 12) -- 24 ---- --
-- >>> runGetResult (+) (*2) (_RunGetFail # (23, 12)) -- 35 --runGetResult :: (Int64 -> e -> x) -> (a -> x) -> RunGetResult e a -> x -- |
-- >>> _RunGetFail # (10, "abc") -- RunGetFail 10 "abc" ---- --
-- >>> (_RunGet # 8) ^? _RunGetFail -- Nothing ---- --
-- >>> (_RunGetFail # (8, "abc")) ^? _RunGetFail -- Just (8,"abc") --_RunGetFail :: Prism' (RunGetResult e a) (Int64, e) -- |
-- >>> :t _RunGet # 8 -- _RunGet # 8 :: Num b => RunGetResult e b ---- --
-- >>> (_RunGet # 8) ^? _RunGet -- Just 8 ---- --
-- >>> (_RunGetFail # (8, "abc")) ^? _RunGet -- Nothing --_RunGet :: Prism' (RunGetResult e a) a -- |
-- >>> runGetResultEitherIso # Right 99 -- RunGet 99 ---- --
-- >>> runGetResultEitherIso # Left (12, "abc") -- RunGetFail 12 "abc" ---- --
-- >>> from runGetResultEitherIso # _RunGet # 99 -- Right 99 ---- --
-- >>> from runGetResultEitherIso # _RunGetFail # (12, "abc") -- Left (12,"abc") --runGetResultEitherIso :: Iso (RunGetResult a b) (RunGetResult b d) (Either (Int64, a) b) (Either (Int64, b) d) -- |
-- >>> runGetResultValidationIso # _Success # 99 -- RunGet 99 ---- --
-- >>> runGetResultValidationIso # _Failure # (12, "abc") -- RunGetFail 12 "abc" ---- --
-- >>> from runGetResultValidationIso # _RunGet # 99 -- Success 99 ---- --
-- >>> from runGetResultValidationIso # _RunGetFail # (12, "abc") -- Failure (12,"abc") --runGetResultValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation (Int64, a) b) (Validation (Int64, b) d) -- |
-- >>> runGetResultValidation'Iso . from _Validation' # _Right # 99 -- RunGet 99 ---- --
-- >>> runGetResultValidation'Iso . from _Validation' # _Left # (12, "abc") -- RunGetFail 12 "abc" ---- --
-- >>> from (runGetResultValidation'Iso . from _Validation') # _RunGet # 99 :: Validation (Int64, ()) Int -- Success 99 ---- --
-- >>> from (runGetResultValidation'Iso . from _Validation') # _RunGetFail # (12, "abc") :: Validation (Int64, String) () -- Failure (12,"abc") --runGetResultValidation'Iso :: Iso (RunGetResult a b) (RunGetResult b d) (Validation' (Int64, a) b) (Validation' (Int64, b) d) -- |
-- >>> runGetResultAccValidationIso # _Success # 99 -- RunGet 99 ---- --
-- >>> runGetResultAccValidationIso # _Failure # (12, "abc") -- RunGetFail 12 "abc" ---- --
-- >>> from runGetResultAccValidationIso # _RunGet # 99 -- AccSuccess 99 ---- --
-- >>> from runGetResultAccValidationIso # _RunGetFail # (12, "abc") -- AccFailure (12,"abc") --runGetResultAccValidationIso :: Iso (RunGetResult a b) (RunGetResult b d) (AccValidation (Int64, a) b) (AccValidation (Int64, b) d) instance [safe] (Eq e, Eq a) => Eq (RunGetResult e a) instance [safe] (Ord e, Ord a) => Ord (RunGetResult e a) instance [safe] (Show e, Show a) => Show (RunGetResult e a) instance [safe] Semigroup (RunGetResult e a) instance [safe] Extend (RunGetResult e) instance [safe] Alt (RunGetResult e) instance [safe] Monad (RunGetResult e) instance [safe] Bind (RunGetResult e) instance [safe] Applicative (RunGetResult e) instance [safe] Apply (RunGetResult e) instance [safe] Traversable (RunGetResult e) instance [safe] Bitraversable RunGetResult instance [safe] Foldable (RunGetResult e) instance [safe] Bifoldable RunGetResult instance [safe] Functor (RunGetResult e) instance [safe] Bifunctor RunGetResult module Data.Tickle.IsolateError data IsolateError e -- |
-- >>> isolateError 7 (\_ -> 8) (\_ _ -> 9) (_NegativeSize # ()) -- 7 ---- --
-- >>> isolateError 7 (+10) (\_ _ -> 9) (_IsolateXFail # 99) -- 109 ---- --
-- >>> isolateError 7 (\_ -> 8) (+) (_UnexpectedConsumed # (12, 14)) -- 26 --isolateError :: a -> (e -> a) -> (Int -> Int -> a) -> IsolateError e -> a -- |
-- >>> _NegativeSize # () -- NegativeSize ---- --
-- >>> (_NegativeSize # ()) ^? _NegativeSize -- Just () ---- --
-- >>> (_IsolateXFail # 8) ^? _NegativeSize -- Nothing ---- --
-- >>> (_UnexpectedConsumed # (12, 13)) ^? _NegativeSize -- Nothing --_NegativeSize :: Prism' (IsolateError e) () -- |
-- >>> _IsolateXFail # 8 -- IsolateXFail 8 ---- --
-- >>> (_NegativeSize # ()) ^? _IsolateXFail -- Nothing ---- --
-- >>> (_IsolateXFail # 8) ^? _IsolateXFail -- Just 8 ---- --
-- >>> (_UnexpectedConsumed # (12, 13)) ^? _IsolateXFail -- Nothing --_IsolateXFail :: Prism' (IsolateError e) e -- |
-- >>> _UnexpectedConsumed # (12,13) -- UnexpectedConsumed 12 13 ---- --
-- >>> (_NegativeSize # ()) ^? _UnexpectedConsumed -- Nothing ---- --
-- >>> (_IsolateXFail # 8) ^? _UnexpectedConsumed -- Nothing ---- --
-- >>> (_UnexpectedConsumed # (12, 13)) ^? _UnexpectedConsumed -- Just (12,13) --_UnexpectedConsumed :: Prism' (IsolateError e) (Int, Int) instance [safe] Eq e => Eq (IsolateError e) instance [safe] Ord e => Ord (IsolateError e) instance [safe] Show e => Show (IsolateError e) instance [safe] Extend IsolateError instance [safe] Functor IsolateError module Data.Tickle.Get data Get e a -- |
-- >>> runGet (lazyByteString 5) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (lazyByteString 5) (BLC.pack "abc") -- RunGetFail 3 () ---- --
-- >>> runGet (lazyByteString 5) (BLC.pack "abcdefg") -- RunGet "abcde" --lazyByteString :: Int64 -> Get () ByteString -- |
-- >>> runGet lazyByteStringNul (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet lazyByteStringNul (BLC.pack "abc") -- RunGetFail 3 () ---- --
-- >>> runGet lazyByteStringNul (BLC.pack "abc\0") -- RunGet "abc" ---- --
-- >>> runGet lazyByteStringNul (BLC.pack "abc\0def") -- RunGet "abc" --lazyByteStringNul :: Get () ByteString -- |
-- >>> runGet remainingLazyByteString (BLC.pack "") -- RunGet "" ---- --
-- >>> runGet remainingLazyByteString (BLC.pack "abc") -- RunGet "abc" --remainingLazyByteString :: Get e ByteString ptr :: Storable a => Int -> Get () a -- |
-- >>> runGet word8 (BLC.pack "abc") -- RunGet 97 ---- --
-- >>> runGet word8 (BLC.pack "123") -- RunGet 49 --word8 :: Get () Word8 -- |
-- >>> runGet word16be (BLC.pack "abc") -- RunGet 24930 ---- --
-- >>> runGet word16be (BLC.pack "123") -- RunGet 12594 --word16be :: Get () Word16 -- |
-- >>> runGet word16le (BLC.pack "abc") -- RunGet 25185 ---- --
-- >>> runGet word16le (BLC.pack "123") -- RunGet 12849 --word16le :: Get () Word16 -- |
-- >>> runGet word32be (BLC.pack "abcdef") -- RunGet 1633837924 ---- --
-- >>> runGet word32be (BLC.pack "123456") -- RunGet 825373492 --word32be :: Get () Word32 -- |
-- >>> runGet word32le (BLC.pack "123456") -- RunGet 875770417 --word32le :: Get () Word32 -- |
-- >>> runGet word64be (BLC.pack "abcdefghi") -- RunGet 7017280452245743464 ---- --
-- >>> runGet word64be (BLC.pack "123456789") -- RunGet 3544952156018063160 --word64be :: Get () Word64 -- |
-- >>> runGet word64le (BLC.pack "abcdefghi") -- RunGet 7523094288207667809 ---- --
-- >>> runGet word64le (BLC.pack "123456789") -- RunGet 4050765991979987505 --word64le :: Get () Word64 -- |
-- >>> runGet wordhost (BLC.pack "abcdefghi") -- RunGet 7523094288207667809 ---- --
-- >>> runGet wordhost (BLC.pack "123456789") -- RunGet 4050765991979987505 --wordhost :: Get () Word -- |
-- >>> runGet word16host (BLC.pack "abcde") -- RunGet 25185 ---- --
-- >>> runGet word16host (BLC.pack "12345") -- RunGet 12849 --word16host :: Get () Word16 -- |
-- >>> runGet word32host (BLC.pack "abcde") -- RunGet 1684234849 ---- --
-- >>> runGet word32host (BLC.pack "12345") -- RunGet 875770417 --word32host :: Get () Word32 -- |
-- >>> runGet word64host (BLC.pack "abcdeghi") -- RunGet 7595434456733934177 ---- --
-- >>> runGet word64host (BLC.pack "123456789") -- RunGet 4050765991979987505 --word64host :: Get () Word64 -- | A Get decoder that always fails with the given value. -- --
-- runGet (failGet x :: Get Int ()) (BLC.pack s) == _RunGetFail # (0, x) ---- --
-- >>> runGet (failGet "abc" :: Get String ()) (BLC.pack "def") -- RunGetFail 0 "abc" --failGet :: e -> Get e a constant :: (forall r. XDecoder e r) -> Get e a -- |
-- >>> runGet (bytesRead :: Get () Int64) (BLC.pack "") -- RunGet 0 ---- --
-- >>> runGet (bytesRead :: Get () Int64) (BLC.pack "abc") -- RunGet 0 ---- --
-- >>> runGet (word8 >> word16be >> word32le >> bytesRead) (BLC.pack "abcdefghijk") -- RunGet 7 --bytesRead :: Get e Int64 -- |
-- >>> runGet demandInput (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet demandInput (BLC.pack "a") -- RunGet () ---- --
-- >>> runGet demandInput (BLC.pack "abc") -- RunGet () --demandInput :: Get () () -- |
-- >>> runGet (word8 >>= \c -> skip 2 >> word8 >>= \d -> return (c,d)) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (word8 >>= \c -> skip 2 >> word8 >>= \d -> return (c,d)) (BLC.pack "abcdefghi") -- RunGet (97,100) ---- --
-- >>> runGet (word8 >>= \c -> skip 2 >> word8 >>= \d -> return (c,d)) (BLC.pack "abc") -- RunGetFail 3 () --skip :: Int -> Get () () -- |
-- >>> runGet isNotEmpty (BLC.pack "") -- RunGet False ---- --
-- >>> runGet isNotEmpty (BLC.pack "abc") -- RunGet True ---- --
-- >>> runGet (isNotEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "abc") -- RunGet (97,True) ---- --
-- >>> runGet (isNotEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (isNotEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "a") -- RunGet (97,True) --isNotEmpty :: Get e Bool -- |
-- >>> runGet isEmpty (BLC.pack "") -- RunGet True ---- --
-- >>> runGet isEmpty (BLC.pack "abc") -- RunGet False ---- --
-- >>> runGet (isEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "abc") -- RunGet (97,False) ---- --
-- >>> runGet (isEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (isEmpty >>= \p -> word8 >>= \w -> return (w, p)) (BLC.pack "a") -- RunGet (97,False) --isEmpty :: Get e Bool -- |
-- >>> runGet (getByteString (-3)) (BLC.pack "") -- RunGet "" ---- --
-- >>> runGet (getByteString 3) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (getByteString 3) (BLC.pack "abc") -- RunGet "abc" ---- --
-- >>> runGet (getByteString 3) (BLC.pack "abcdef") -- RunGet "abc" --getByteString :: Int -> Get () ByteString modify :: (ByteString -> ByteString) -> Get e () -- |
-- >>> runGet (readN 3 id) (BLC.pack "abc") -- RunGet "abc" ---- --
-- >>> runGet (readN 3 id) (BLC.pack "ab") -- RunGetFail 0 () ---- --
-- >>> runGet (readN 3 id) (BLC.pack "abcdef") -- RunGet "abcdef" ---- --
-- >>> runGet (readN (-3) id) (BLC.pack "abcdef") -- RunGet "" --readN :: Int -> (ByteString -> a) -> Get () a -- |
-- >>> runGet (ensureN 3) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (ensureN 3) (BLC.pack "abc") -- RunGet () ---- --
-- >>> runGet (ensureN 3) (BLC.pack "abcdef") -- RunGet () --ensureN :: Int -> Get () () -- | Run a Get decoder, but keep a track of the input that ran it -- to completion. -- --
-- >>> runGet (runAndKeepTrack word8 :: Get () (CompletedXDecoder () Word8, [BC.ByteString])) (BLC.pack "") -- RunGet (CompletedFail "" (),[]) ---- --
-- >>> runGet (runAndKeepTrack word8 :: Get () (CompletedXDecoder () Word8, [BC.ByteString])) (BLC.pack "abc") -- RunGet (CompletedDone "bc" 97,["abc"]) --runAndKeepTrack :: Get e a -> Get x (CompletedXDecoder e a, [ByteString]) -- |
-- >>> runGet (pushBack [] :: Get () ()) (BLC.pack "") -- RunGet () ---- --
-- >>> runGet (pushBack [] :: Get () ()) (BLC.pack "abc") -- RunGet () ---- --
-- >>> runGet (pushBack [BC.pack "def"] :: Get () ()) (BLC.pack "") -- RunGet () ---- --
-- >>> runGet (pushBack [BC.pack "def"] :: Get () ()) (BLC.pack "abc") -- RunGet () --pushBack :: [ByteString] -> Get e () -- |
-- >>> runGet (pushFront (BC.pack "def") :: Get () ()) (BLC.pack "") -- RunGet () ---- --
-- >>> runGet (pushFront (BC.pack "def") :: Get () ()) (BLC.pack "abc") -- RunGet () --pushFront :: ByteString -> Get e () xrunGetIncremental :: Get e a -> XDecoder e a noMeansNo :: XDecoder e a -> XDecoder e a prompt :: ByteString -> XDecoder e a -> (ByteString -> XDecoder e a) -> XDecoder e a -- |
-- >>> runGet (isolate 1 word8) (BLC.pack "ab") -- RunGet 97 ---- --
-- >>> runGet (isolate 1 word8) (BLC.pack "abcde") -- RunGet 97 ---- --
-- >>> runGet (isolate 2 word16le) (BLC.pack "abcde") -- RunGet 25185 ---- --
-- >>> runGet (isolate 1 word16le) (BLC.pack "abcde") -- RunGetFail 0 (IsolateXFail ()) ---- --
-- >>> runGet (isolate (-3) word16le) (BLC.pack "abcde") -- RunGetFail 0 NegativeSize ---- --
-- >>> runGet (isolate 3 word16le) (BLC.pack "abcde") -- RunGetFail 2 (UnexpectedConsumed 2 3) --isolate :: Int -> Get e a -> Get (IsolateError e) a -- |
-- >>> runGet (lookAhead word8) (BLC.pack "") -- RunGetFail 0 () ---- --
-- >>> runGet (lookAhead word8) (BLC.pack "abc") -- RunGet 97 ---- --
-- >>> runGet (lookAhead word8) (BLC.pack "a") -- RunGet 97 --lookAhead :: Get e a -> Get e a -- |
-- >>> runGet (lookAheadM (word8 >>= \w -> return (if even w then Just (w + 5) else Nothing))) (BLC.pack "abc") -- RunGet Nothing ---- --
-- >>> runGet (lookAheadM (word8 >>= \w -> return (if even w then Just (w + 5) else Nothing))) (BLC.pack "bc") -- RunGet (Just 103) ---- --
-- >>> runGet (lookAheadM (word8 >>= \w -> return (if even w then Just (w + 5) else Nothing))) (BLC.pack "") -- RunGetFail 0 () --lookAheadM :: Get e (Maybe a) -> Get e (Maybe a) -- |
-- >>> runGet (lookAheadE (word8 >>= \w -> return (if even w then Left (w + 5) else Right (w - 4)))) (BLC.pack "abc") -- RunGet (Right 93) ---- --
-- >>> runGet (lookAheadE (word8 >>= \w -> return (if even w then Left (w + 5) else Right (w - 4)))) (BLC.pack "bc") -- RunGet (Left 103) ---- --
-- >>> runGet (lookAheadE (word8 >>= \w -> return (if even w then Left (w + 5) else Right (w - 4)))) (BLC.pack "") -- RunGetFail 0 () --lookAheadE :: Get e (Either a b) -> Get e (Either a b) readNWith :: Int -> (Ptr a -> IO a) -> Get () a calculateOffset :: XDecoder e a -> Decoder e a pushChunk :: Decoder e a -> ByteString -> Decoder e a pushChunks :: Decoder e a -> ByteString -> Decoder e a pushEndOfInput :: Decoder e a -> Decoder e a -- |
-- >>> runGet ([(), ()] !+ (setLabel [] word8)) (BLC.pack "") -- RunGetFail 0 [(),()] ---- --
-- >>> runGet ([(), ()] !+ (setLabel [] word8)) (BLC.pack "abc") -- RunGet 97 --(!+) :: Semigroup e => e -> Get e a -> Get e a -- |
-- >>> runGet ([(), ()] `addLabel` (setLabel [] word8)) (BLC.pack "") -- RunGetFail 0 [(),()] ---- --
-- >>> runGet ([(), ()] `addLabel` (setLabel [] word8)) (BLC.pack "abc") -- RunGet 97 --addLabel :: Semigroup e => e -> Get e a -> Get e a -- |
-- >>> runGet ("error" !- word8) (BLC.pack "")
-- RunGetFail 0 "error"
--
--
--
-- >>> runGet ("error" !- word8) (BLC.pack "abc")
-- RunGet 97
--
(!-) :: e -> Get d a -> Get e a
-- |
-- >>> runGet ("error" `setLabel` word8) (BLC.pack "")
-- RunGetFail 0 "error"
--
--
--
-- >>> runGet ("error" `setLabel` word8) (BLC.pack "abc")
-- RunGet 97
--
setLabel :: e -> Get d a -> Get e a
-- | -- >>> runGet (reverse !!- setLabel "error" word8) (BLC.pack "") -- RunGetFail 0 "rorre" ---- --
-- >>> runGet (reverse !!- setLabel "error" word8) (BLC.pack "abc") -- RunGet 97 --(!!-) :: (d -> e) -> Get d a -> Get e a -- |
-- >>> runGet (reverse `modifyLabel` setLabel "error" word8) (BLC.pack "") -- RunGetFail 0 "rorre" ---- --
-- >>> runGet (reverse `modifyLabel` setLabel "error" word8) (BLC.pack "abc") -- RunGet 97 --modifyLabel :: (d -> e) -> Get d a -> Get e a data Decoder e a -- |
-- >>> decoder (\b i n -> B.length b + fromIntegral i + n) (\_ -> 99) (\b n a -> B.length b + fromIntegral n + a) (_Fail # (BC.pack "abc", 12, 19)) -- 34 ---- --
-- >>> decoder (\b i n -> B.length b + fromIntegral i + n) (\_ -> 99) (\b n a -> B.length b + fromIntegral n + a) (_Partial # (\b -> _Fail # (fromMaybe (BC.pack "abc") b, 12, 19))) -- 99 ---- --
-- >>> decoder (\b i n -> B.length b + fromIntegral i + n) (\_ -> 99) (\b n a -> B.length b + fromIntegral n + a) (_Done # (BC.pack "abc", 12, 19)) -- 34 --decoder :: (ByteString -> Int64 -> e -> x) -> ((Maybe ByteString -> Decoder e a) -> x) -> (ByteString -> Int64 -> a -> x) -> Decoder e a -> x -- |
-- >>> (_Fail # (BC.pack "abc", 19, 31)) ^? _Fail
-- Just ("abc",19,31)
--
--
-- -- >>> isNothing ((_Fail # (BC.pack "abc", 19, 31)) ^? _Partial) -- True ---- --
-- >>> (_Fail # (BC.pack "abc", 19, 31)) ^? _Done -- Nothing --_Fail :: Prism' (Decoder e a) (ByteString, Int64, e) -- |
-- >>> (_Partial # (\b -> _Fail # (fromMaybe (BC.pack "abc") b, 12, 19))) ^? _Fail -- Nothing ---- --
-- >>> isJust ((_Partial # (\b -> _Fail # (fromMaybe (BC.pack "abc") b, 12, 19))) ^? _Partial) -- True ---- --
-- >>> (_Partial # (\b -> _Fail # (fromMaybe (BC.pack "abc") b, 12, 19))) ^? _Done -- Nothing --_Partial :: Prism' (Decoder e a) (Maybe ByteString -> Decoder e a) -- |
-- >>> (_Done # (BC.pack "abc", 19, 31)) ^? _Fail -- Nothing ---- --
-- >>> isNothing ((_Done # (BC.pack "abc", 19, 31)) ^? _Partial) -- True ---- --
-- >>> (_Done # (BC.pack "abc", 19, 31)) ^? _Done
-- Just ("abc",19,31)
--
_Done :: Prism' (Decoder e a) (ByteString, Int64, a)
runGet :: Get e a -> ByteString -> RunGetResult e a
-- | An alias for runGet.
--
-- -- >>> (word8 >>= \c1 -> word8 >>= \c2 -> return (c1 + c2)) .>> BLC.pack "abc" -- RunGet 195 --(.>>) :: Get e a -> ByteString -> RunGetResult e a -- | An alias for runGet with the arguments flipped. -- --
-- >>> BLC.pack "abc" <<. (word8 >>= \c1 -> word8 >>= \c2 -> return (c1 + c2)) -- RunGet 195 --(<<.) :: ByteString -> Get e a -> RunGetResult e a runGetIncremental :: Get e a -> Decoder e a data XDecoder e a xdecoder :: (ByteString -> e -> x) -> ((Maybe ByteString -> XDecoder e a) -> x) -> (ByteString -> a -> x) -> (Int64 -> (Int64 -> XDecoder e a) -> x) -> XDecoder e a -> x _XFail :: Prism' (XDecoder e a) (ByteString, e) _XPartial :: Prism' (XDecoder e a) (Maybe ByteString -> XDecoder e a) _XDone :: Prism' (XDecoder e a) (ByteString, a) _XBytesRead :: Prism' (XDecoder e a) (Int64, Int64 -> XDecoder e a) data CompletedXDecoder e a completedXDecoder :: (ByteString -> e -> x) -> (ByteString -> a -> x) -> CompletedXDecoder e a -> x _CompletedFail :: Prism' (CompletedXDecoder e a) (ByteString, e) _CompletedDone :: Prism' (CompletedXDecoder e a) (ByteString, a) completedIso :: Iso (CompletedXDecoder e a) (CompletedXDecoder f b) (Either e a, ByteString) (Either f b, ByteString) completedByteString :: Lens' (CompletedXDecoder e a) ByteString completedValue :: Lens' (CompletedXDecoder e a) (Either e a) uncomplete :: Prism' (XDecoder e a) (CompletedXDecoder e a) uncompletedByteString :: Traversal' (XDecoder e a) ByteString uncompletedValue :: Traversal' (XDecoder e a) (Either e a) instance (Eq e, Eq a) => Eq (CompletedXDecoder e a) instance (Ord e, Ord a) => Ord (CompletedXDecoder e a) instance (Show e, Show a) => Show (CompletedXDecoder e a) instance Bitraversable CompletedXDecoder instance Bifoldable CompletedXDecoder instance Traversable (CompletedXDecoder e) instance Foldable (CompletedXDecoder e) instance Bifunctor CompletedXDecoder instance Functor (CompletedXDecoder e) instance Foldable (XDecoder e) instance Bifoldable XDecoder instance Bifunctor XDecoder instance Functor (XDecoder e) instance Functor (Decoder e) instance Bifunctor Decoder instance Semigroup (Get e a) instance Alt (Get e) instance Monad (Get e) instance Bind (Get e) instance Applicative (Get e) instance Apply (Get e) instance Functor (Get e) instance Bifunctor Get module Data.Tickle