Bryan O'Sullivan avatar Bryan O'Sullivan committed 9829e23

More tiny improvements

Comments (0)

Files changed (1)

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
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.