@@ -235,7 +235,8 @@ isDigit c = c >= '0' && c <= '9'
235235
236236-- | A fast digit predicate.
237237isDigit_w8 :: Word8 -> Bool
238−isDigit_w8 w = w >= 48 && w <= 57
238+isDigit_w8 w | w - 48 <= 9 = True
239+ | otherwise = False
239240{-# INLINE isDigit_w8 #-}
240241
241242-- | Match any character.
@@ -272,7 +273,9 @@ isSpace c = (c == ' ') || ('\t' <= c && c <= '\r')
272273
273274-- | Fast 'Word8' predicate for matching ASCII space characters.
274275isSpace_w8 :: Word8 -> Bool
275−isSpace_w8 w = (w == 32) || (9 <= w && w <= 13)
276+isSpace_w8 w | w == 32 = True
277+ | w - 9 <= 4 = True
278+ | otherwise = False
276279{-# INLINE isSpace_w8 #-}
277280
278281