Commits

Bryan O'Sullivan  committed 9829e23

More tiny improvements

  • Participants
  • Parent commits 89b722a

Comments (0)

Files changed (1)

File Data/Attoparsec/Internal.hs

      -> Input -> Added -> More
      -> (Input -> Added -> More -> r) -> r
 addS i0 a0 m0 _i1 a1 m1 f =
-    f (I (unI i0 +++ unA a1)) (A (unA a0 +++ unA a1)) (m0 <> m1)
+    let !i = I (unI i0 +++ unA a1)
+        a  = A (unA a0 +++ unA a1)
+        m  = m0 <> m1
+    in f i a m
   where
     Complete <> _ = Complete
     _ <> Complete = Complete
 -- | If at least @n@ bytes of input are available, return the current
 -- input, otherwise fail.
 ensure :: Int -> Parser B.ByteString
-ensure n = Parser $ \i0 a0 m0 kf ks ->
+ensure !n = Parser $ \i0 a0 m0 kf ks ->
     if B.length (unI i0) >= n
     then ks i0 a0 m0 (unI i0)
     else runParser (demandInput >> ensure n) i0 a0 m0 kf ks