Simon Marlow wrote: > The test driver makes use of 'eval'-style scripting, which none of the > existing Haskell systems has.
Doesn't the following qualify as eval? A similar code works even in Hugs. > import System (system, ExitCode(ExitSuccess)) > import Posix(executeFile) > > myconfig_file = "/tmp/config" > > phaseII_var = "/tmp/Config.hs" > phaseII_const = "/tmp/a.hs" > phaseII_eval = "ghc --make " > phaseII_result = "/tmp/a.out" > > nl = "\n" > > writeConfig :: Int -> IO () > writeConfig num = > do > writeFile phaseII_var $ > concat > ["module Config (config_item) where", nl, > "config_item =", show num, nl] > > > runSuperIO () = system (phaseII_eval ++ > phaseII_const ++ " -o " ++ phaseII_result) > >>= \ExitSuccess -> > executeFile phaseII_result False [] Nothing > > main = readFile myconfig_file >>= writeConfig . read >>= runSuperIO The context: http://www.haskell.org/pipermail/haskell-cafe/2003-February/003912.html Furthermore, if GHCi can (after some prodding by the user) launch ghc to compile a module and then load the resulting .o file in and apply some function in thus loaded file, doesn't it feel like an eval? _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell