summaryrefslogtreecommitdiff
path: root/compiler/main/CmdLineParser.hs
diff options
context:
space:
mode:
authorEdsko de Vries <edsko@well-typed.com>2015-01-12 05:22:22 -0600
committerAustin Seipp <austin@well-typed.com>2015-01-13 10:10:38 -0600
commit099b76769f02432d8efcd7881348e5f5b6b50787 (patch)
treea87363a9b6cc429fede679b3a0e6fb9f4ebecca6 /compiler/main/CmdLineParser.hs
parent07ace5c221adbb1675413a0fac300a9f7913c234 (diff)
downloadhaskell-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.hs8
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 []