diff --git a/src/Text/Parsec/ByteString.hs b/src/Text/Parsec/ByteString.hs index e65dee14..bb1f39b7 100644 --- a/src/Text/Parsec/ByteString.hs +++ b/src/Text/Parsec/ByteString.hs @@ -18,11 +18,11 @@ module Text.Parsec.ByteString ( Parser, GenParser, parseFromFile ) where +import qualified Data.ByteString.Char8 as C + import Text.Parsec.Error import Text.Parsec.Prim -import qualified Data.ByteString.Char8 as C - type Parser = Parsec C.ByteString () type GenParser t st = Parsec C.ByteString st diff --git a/src/Text/Parsec/ByteString/Lazy.hs b/src/Text/Parsec/ByteString/Lazy.hs index 2a457814..1b1ac629 100644 --- a/src/Text/Parsec/ByteString/Lazy.hs +++ b/src/Text/Parsec/ByteString/Lazy.hs @@ -18,11 +18,11 @@ module Text.Parsec.ByteString.Lazy ( Parser, GenParser, parseFromFile ) where +import qualified Data.ByteString.Lazy.Char8 as C + import Text.Parsec.Error import Text.Parsec.Prim -import qualified Data.ByteString.Lazy.Char8 as C - type Parser = Parsec C.ByteString () type GenParser t st = Parsec C.ByteString st diff --git a/src/Text/Parsec/Char.hs b/src/Text/Parsec/Char.hs index 2129d646..9f86177c 100644 --- a/src/Text/Parsec/Char.hs +++ b/src/Text/Parsec/Char.hs @@ -16,13 +16,14 @@ module Text.Parsec.Char where -import Data.Char -import Text.Parsec.Pos -import Text.Parsec.Prim +import Data.Char (isSpace, isUpper, isLower, isAlphaNum, isAlpha, isDigit, isHexDigit, isOctDigit) #if !(MIN_VERSION_base(4,8,0)) import Control.Applicative ((*>)) #endif +import Text.Parsec.Pos +import Text.Parsec.Prim + -- | @oneOf cs@ succeeds if the current character is in the supplied -- list of characters @cs@. Returns the parsed character. See also -- 'satisfy'. diff --git a/src/Text/Parsec/Combinator.hs b/src/Text/Parsec/Combinator.hs index 95d1b25e..1a1da2f6 100644 --- a/src/Text/Parsec/Combinator.hs +++ b/src/Text/Parsec/Combinator.hs @@ -42,10 +42,11 @@ module Text.Parsec.Combinator , parserTrace, parserTraced ) where -import Control.Monad -import Text.Parsec.Prim +import Control.Monad (mzero, liftM) import Debug.Trace (trace) +import Text.Parsec.Prim + -- | @choice ps@ tries to apply the parsers in the list @ps@ in order, -- until one of them succeeds. Returns the value of the succeeding -- parser. diff --git a/src/Text/Parsec/Perm.hs b/src/Text/Parsec/Perm.hs index 94491ac8..e448ddf5 100644 --- a/src/Text/Parsec/Perm.hs +++ b/src/Text/Parsec/Perm.hs @@ -41,9 +41,7 @@ module Text.Parsec.Perm , (<|?>), (<$?>) ) where -import Text.Parsec - -import Control.Monad.Identity +import Control.Monad.Identity ( Identity ) #if MIN_VERSION_base(4,7,0) import Data.Typeable ( Typeable ) #else @@ -51,6 +49,8 @@ import Data.Typeable ( Typeable ) import Data.Typeable ( Typeable3 ) #endif +import Text.Parsec + infixl 1 <||>, <|?> infixl 2 <$$>, <$?> diff --git a/src/Text/Parsec/Prim.hs b/src/Text/Parsec/Prim.hs index 5e2a8ff9..1dfd7bda 100644 --- a/src/Text/Parsec/Prim.hs +++ b/src/Text/Parsec/Prim.hs @@ -99,15 +99,15 @@ import qualified Data.Semigroup as Semigroup ( Semigroup(..) ) import qualified Data.Monoid as Monoid ( Monoid(..) ) import qualified Control.Applicative as Applicative ( Applicative(..), Alternative(..), liftA2 ) -import Control.Monad hiding (sequence) -import Control.Monad.Trans -import Control.Monad.Identity hiding (sequence) +import Control.Monad (MonadPlus (..), ap, void, liftM) +import Control.Monad.Trans (MonadTrans (lift), MonadIO (liftIO)) +import Control.Monad.Identity (Identity, runIdentity) import qualified Control.Monad.Fail as Fail -import Control.Monad.Reader.Class -import Control.Monad.State.Class -import Control.Monad.Cont.Class -import Control.Monad.Error.Class +import Control.Monad.Reader.Class (MonadReader (..)) +import Control.Monad.State.Class (MonadState (..)) +import Control.Monad.Cont.Class (MonadCont (..)) +import Control.Monad.Error.Class (MonadError (..)) import Text.Parsec.Pos import Text.Parsec.Error diff --git a/src/Text/Parsec/Text.hs b/src/Text/Parsec/Text.hs index 0e609686..09395936 100644 --- a/src/Text/Parsec/Text.hs +++ b/src/Text/Parsec/Text.hs @@ -19,9 +19,10 @@ module Text.Parsec.Text ) where import qualified Data.Text as Text +import qualified Data.Text.IO as T + import Text.Parsec.Prim import Text.Parsec.Error -import Data.Text.IO as T type Parser = Parsec Text.Text () type GenParser st = Parsec Text.Text st diff --git a/src/Text/Parsec/Text/Lazy.hs b/src/Text/Parsec/Text/Lazy.hs index 3cddb675..f881111d 100644 --- a/src/Text/Parsec/Text/Lazy.hs +++ b/src/Text/Parsec/Text/Lazy.hs @@ -19,9 +19,10 @@ module Text.Parsec.Text.Lazy ) where import qualified Data.Text.Lazy as Text +import qualified Data.Text.Lazy.IO as TL + import Text.Parsec.Prim import Text.Parsec.Error -import Data.Text.Lazy.IO as TL type Parser = Parsec Text.Text () type GenParser st = Parsec Text.Text st diff --git a/src/Text/Parsec/Token.hs b/src/Text/Parsec/Token.hs index ddd0620a..e5f70493 100644 --- a/src/Text/Parsec/Token.hs +++ b/src/Text/Parsec/Token.hs @@ -34,7 +34,8 @@ import Data.Char ( isAlpha, toLower, toUpper, isSpace, digitToInt ) import Data.Typeable ( Typeable ) #endif import Data.List ( nub, sort ) -import Control.Monad.Identity +import Control.Monad.Identity (Identity) + import Text.Parsec.Prim import Text.Parsec.Char import Text.Parsec.Combinator diff --git a/src/Text/ParserCombinators/Parsec/Expr.hs b/src/Text/ParserCombinators/Parsec/Expr.hs index 667187d6..a96cef55 100644 --- a/src/Text/ParserCombinators/Parsec/Expr.hs +++ b/src/Text/ParserCombinators/Parsec/Expr.hs @@ -25,7 +25,7 @@ import Text.Parsec.Expr(Assoc(..)) import qualified Text.Parsec.Expr as N import Text.ParserCombinators.Parsec(GenParser) -import Control.Monad.Identity +import Control.Monad.Identity (Identity) data Operator tok st a = Infix (GenParser tok st (a -> a -> a)) Assoc | Prefix (GenParser tok st (a -> a))