import Data.List
import Network.HTTP.Lucu.Parser
--- |@'isCtl' c@ is False iff @0x20 <= @c@ < 0x7F@.
+-- |@'isCtl' c@ is 'Prelude.False' iff @0x20 <= @c@ < 0x7F@.
isCtl :: Char -> Bool
isCtl c
| c < '\x1f' = True
| c >= '\x7f' = True
| otherwise = False
--- |@'isSeparator' c@ is True iff c is one of HTTP separators.
+-- |@'isSeparator' c@ is 'Prelude.True' iff c is one of HTTP
+-- separators.
isSeparator :: Char -> Bool
isSeparator '(' = True
isSeparator ')' = True
isSeparator '\t' = True
isSeparator _ = False
--- |@'isChar' c@ is True iff @c <= 0x7f@.
+-- |@'isChar' c@ is 'Prelude.True' iff @c <= 0x7f@.
isChar :: Char -> Bool
isChar c
| c <= '\x7f' = True
qdtext = do c <- satisfy (/= '"')
return [c]
- quotedPair = do q <- char '\\'
+ quotedPair = do char '\\'
c <- satisfy isChar
return [c]
qvalue :: Parser Double
qvalue = do x <- char '0'
xs <- option ""
- $ do x <- char '.'
- xs <- many digit -- 本當は三文字までに制限
- return (x:xs)
+ $ do y <- char '.'
+ ys <- many digit -- 本當は三文字までに制限
+ return (y:ys)
return $ read (x:xs)
<|>
do x <- char '1'
xs <- option ""
- $ do x <- char '.'
- xs <- many (char '0') -- 本當は三文字までに制限
- return (x:xs)
+ $ do y <- char '.'
+ ys <- many (char '0') -- 本當は三文字までに制限
+ return (y:ys)
return $ read (x:xs)