]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Parser.hs
Use base64-bytestring instead of dataenc
[Lucu.git] / Network / HTTP / Lucu / Parser.hs
index 9a36ad5d83978048d3414b26090146db576a9562..7809f534790d2d770e147dc3b362a7df9b5c1203 100644 (file)
@@ -1,3 +1,9 @@
+{-# LANGUAGE
+    BangPatterns
+  , ScopedTypeVariables
+  , UnboxedTuples
+  , UnicodeSyntax
+  #-}
 -- |Yet another parser combinator. This is mostly a subset of
 -- "Text.ParserCombinators.Parsec" but there are some differences:
 --
@@ -52,7 +58,7 @@ module Network.HTTP.Lucu.Parser
     )
     where
 
-import           Control.Monad.State.Strict
+import           Control.Monad.State.Strict hiding (state)
 import qualified Data.ByteString.Lazy as Lazy (ByteString)
 import qualified Data.ByteString.Lazy.Char8 as B hiding (ByteString)
 import qualified Data.Foldable as Fold
@@ -93,6 +99,9 @@ instance Monad Parser where
     return !x = Parser $! return $! Success x
     fail _    = Parser $! return $! IllegalInput
 
+instance Functor Parser where
+    fmap f p = p >>= return . f
+
 -- |@'failP'@ is just a synonym for @'Prelude.fail'
 -- 'Prelude.undefined'@.
 failP :: Parser a