diff --git a/examples/plugs/runplugs/Main.hs b/examples/plugs/runplugs/Main.hs index 9a7e961..ea672f6 100644 --- a/examples/plugs/runplugs/Main.hs +++ b/examples/plugs/runplugs/Main.hs @@ -1,6 +1,5 @@ -{-# OPTIONS -cpp #-} -- --- Copyright (c) 2004-5 Don Stewart - http://www.cse.unsw.edu.au/~dons +-- Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons -- GPL version 2 or later (see http://www.gnu.org/copyleft/gpl.html) -- @@ -8,61 +7,39 @@ -- | Runplugs: use hs-plugins to run a Haskell expression under -- controlled conditions. -- -import System.Eval.Haskell (unsafeEval_) +import System.Eval.Haskell (unsafeEval) import Data.Maybe (isJust, fromJust) import Control.Monad (when) -import Control.Exception (evaluate) - import System.Exit (exitWith, ExitCode(ExitSuccess)) -import System.IO (hGetContents, hPutStrLn, putStrLn, hClose, stdin, stdout, stderr) -#if !defined(CYGWIN) && !defined(__MINGW32__) +import System.IO (getContents, putStrLn) import System.Posix.Resource (setResourceLimit, Resource(ResourceCPUTime), ResourceLimits(ResourceLimits), ResourceLimit(ResourceLimit)) -import Control.Concurrent ( forkIO ) -import qualified Control.Exception ( evaluate ) rlimit = ResourceLimit 3 -#endif -context = prehier ++ datas ++ controls +context = prehier ++ datas ++ qualifieds ++ controls prehier = ["Char", "List", "Maybe", "Numeric", "Random" ] +qualifieds = ["qualified Data.Map as M", "qualified Data.Set as S"] + datas = map ("Data." ++) [ "Bits", "Bool", "Char", "Dynamic", "Either", - "Graph", "Int", "Ix", "List", "Maybe", -#if __GLASGOW_HASKELL__ >= 604 - "Map", -#else - "FiniteMap", -#endif - "Ratio", "Set", "Tree", "Tuple", "Typeable", "Word" + "Graph", "Int", "Ix", "List", + "Maybe", "Ratio", "Tree", "Tuple", "Typeable", "Word" ] -controls = map ("Control." ++) ["Monad", "Arrow"] +controls = map ("Control." ++) ["Monad", "Monad.Reader", "Monad.Fix", "Arrow"] --- --- with ghc 6.4, ghc doesn't seem to be able to call gcc, setNoFDBlocking fails. --- --- *** Assembler --- gcc -I/tmp -c /tmp/ghc11596.s -o /tmp/MySzQ14137.o --- --- Failed: gcc -I/tmp -c /tmp/ghc11596.s -o /tmp/MySzQ14137.o --- gcc: setNonBlockingFD: invalid argument (Bad file descriptor) --- main = do -#if !defined(CYGWIN) && defined(__MINGW32__) setResourceLimit ResourceCPUTime (ResourceLimits rlimit rlimit) -#endif - s <- hGetContents stdin + s <- getContents when (not . null $ s) $ do - s <- unsafeEval_ ("(take 2048 (show ("++s++")))") context ["-v"] [] [] - case s of - Left errs -> mapM_ putStrLn errs - Right s -> putStrLn s + s <- unsafeEval ("(take 2048 (show ("++s++")))") context + when (isJust s) (putStrLn (fromJust s)) exitWith ExitSuccess diff --git a/examples/plugs/runplugs/Makefile b/examples/plugs/runplugs/Makefile index 2f4e702..14ae11c 100644 --- a/examples/plugs/runplugs/Makefile +++ b/examples/plugs/runplugs/Makefile @@ -1,5 +1,5 @@ GHCFLAGS= -Onot $(GHC_EXTRA_OPTS) -PKGFLAGS= -package posix -package-conf $(TOP)/plugins.conf.inplace +PKGFLAGS= -package posix PKGFLAGS+= -package plugins all: build diff --git a/examples/plugs/runplugs/dont_test b/examples/plugs/runplugs/dont_test deleted file mode 100644 index e69de29..0000000