git.iko.soy/typeable/attoparsec
on master help sign in
Unified 'get' and 'put' from .Internal modules.
commitaf57e819ecf9840d7a0cdd8b77ea7b4660602b57 authorMikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com> dateTue 11 Feb 2014, 23:09 (13 years ago) parent85554f7
3 files changed+13−13
Data/Attoparsec/ByteString/Internal.hs+1−6 Data/Attoparsec/Internal.hs+11−1 Data/Attoparsec/Text/Internal.hs+1−6
Data/Attoparsec/ByteString/Internal.hs+1−6
@@ -72,6 +72,7 @@ import Data.Attoparsec.ByteString.FastSet (charClass, memberWord8)
7272import Data.Attoparsec.Combinator
7373import Data.Attoparsec.Internal.Types
7474 hiding (Parser, Input, Added, Failure, Success)
75+import Data.Attoparsec.Internal
7576import Data.Monoid (Monoid(..))
7677import Data.Word (Word8)
7778import Foreign.ForeignPtr (withForeignPtr)
@@ -153,12 +154,6 @@ wantInput = T.Parser $ \i0 a0 m0 _kf ks ->
153154 ks' i a m = ks i a m True
154155 in prompt i0 a0 m0 kf' ks'
155156
156−get :: Parser B.ByteString
157−get = T.Parser $ \i0 a0 m0 _kf ks -> ks i0 a0 m0 (unI i0)
158−
159−put :: B.ByteString -> Parser ()
160−put s = T.Parser $ \_i0 a0 m0 _kf ks -> ks (I s) a0 m0 ()
161−
162157-- | The parser @satisfy p@ succeeds for any byte for which the
163158-- predicate @p@ returns 'True'. Returns the byte that is actually
164159-- parsed.
Data/Attoparsec/Internal.hs+11−1
@@ -13,9 +13,11 @@
1313module Data.Attoparsec.Internal
1414 (
1515 compareResults
16+ , get
17+ , put
1618 ) where
1719
18−import Data.Attoparsec.Internal.Types (IResult(..))
20+import Data.Attoparsec.Internal.Types
1921
2022-- | Compare two 'IResult' values for equality.
2123--
@@ -29,3 +31,11 @@ compareResults (Done i0 r0) (Done i1 r1) =
2931 Just (i0 == i1 && r0 == r1)
3032compareResults (Partial _) (Partial _) = Nothing
3133compareResults _ _ = Just False
34+
35+get :: Parser t t
36+get = Parser $ \i0 a0 m0 _kf ks -> ks i0 a0 m0 (unI i0)
37+{-# INLINE get #-}
38+
39+put :: t -> Parser t ()
40+put c = Parser $ \_i0 a0 m0 _kf ks -> ks (I c) a0 m0 ()
41+{-# INLINE put #-}
Data/Attoparsec/Text/Internal.hs+1−6
@@ -69,6 +69,7 @@ import Control.Applicative ((<|>), (<$>))
6969import Control.Monad (when)
7070import Data.Attoparsec.Combinator
7171import Data.Attoparsec.Internal.Types hiding (Parser, Input, Added, Failure, Success)
72+import Data.Attoparsec.Internal
7273import Data.Monoid (Monoid(..))
7374import Data.String (IsString(..))
7475import Data.Text (Text)
@@ -141,12 +142,6 @@ wantInput = T.Parser $ \i0 a0 m0 _kf ks ->
141142 ks' i a m = ks i a m True
142143 in prompt i0 a0 m0 kf' ks'
143144
144−get :: Parser Text
145−get = T.Parser $ \i0 a0 m0 _kf ks -> ks i0 a0 m0 (unI i0)
146−
147−put :: Text -> Parser ()
148−put s = T.Parser $ \_i0 a0 m0 _kf ks -> ks (I s) a0 m0 ()
149−
150145unsafeHead :: Text -> Char
151146unsafeHead = T.head
152147