diff options
author | Edsko de Vries <edsko@well-typed.com> | 2015-01-12 05:22:22 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-01-13 10:10:38 -0600 |
commit | 099b76769f02432d8efcd7881348e5f5b6b50787 (patch) | |
tree | a87363a9b6cc429fede679b3a0e6fb9f4ebecca6 /compiler/main/CmdLineParser.hs | |
parent | 07ace5c221adbb1675413a0fac300a9f7913c234 (diff) | |
download | haskell-099b76769f02432d8efcd7881348e5f5b6b50787.tar.gz |
Package environments
Summary: Package environments are files with package IDs that indicate which packages should be visible; see entry in user guide for details.
Reviewers: duncan, austin
Reviewed By: duncan, austin
Subscribers: carter, thomie
Differential Revision: https://phabricator.haskell.org/D558
Diffstat (limited to 'compiler/main/CmdLineParser.hs')
-rw-r--r-- | compiler/main/CmdLineParser.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/main/CmdLineParser.hs b/compiler/main/CmdLineParser.hs index 0f7d45df27..e80f688f75 100644 --- a/compiler/main/CmdLineParser.hs +++ b/compiler/main/CmdLineParser.hs @@ -18,7 +18,7 @@ module CmdLineParser Flag(..), defFlag, defGhcFlag, defGhciFlag, defHiddenFlag, errorsToGhcException, - EwM, addErr, addWarn, getArg, getCurLoc, liftEwM, deprecate + EwM(..), runEwM, addErr, addWarn, getArg, getCurLoc, liftEwM, deprecate ) where #include "HsVersions.h" @@ -108,6 +108,9 @@ instance Monad m => Monad (EwM m) where unEwM (k r) l e' w') return v = EwM (\_ e w -> return (e, w, v)) +runEwM :: EwM m a -> m (Errs, Warns, a) +runEwM action = unEwM action (panic "processArgs: no arg yet") emptyBag emptyBag + setArg :: Located String -> EwM m () -> EwM m () setArg l (EwM f) = EwM (\_ es ws -> f l es ws) @@ -170,8 +173,7 @@ processArgs :: Monad m [Located String], -- errors [Located String] ) -- warnings processArgs spec args = do - (errs, warns, spare) <- unEwM action (panic "processArgs: no arg yet") - emptyBag emptyBag + (errs, warns, spare) <- runEwM action return (spare, bagToList errs, bagToList warns) where action = process args [] |