On Wed, Oct 29, 2008 at 7:38 AM, Christian Kellermann <[EMAIL PROTECTED]> wrote: > > Hi all, > > As I am fully aware of the tremendous efforts already done last > weekend and the huge pile of patches to review for David, I want > to put this patch out as a starting point for discussion. The goal > is to get rid of perl altogether. One ch unk using perl is the > shell_harness script. This patch is meant to be a future replacement. > I am grateful for comments as always!
Hey Christian! I think you're C-Keen right? I'm lispy. We had talked about this a bit already. I like what you have, but it's currently Posix only. I'm going to suggest some things to help get it closer to portable without actually trying any of it :) To make it portable, I think we need only get rid of setEnv. To do that, we could use System.Process.runInteractiveProcess. http://www.haskell.org/ghc/docs/6.6/html/libraries/base/System-Process.html#v%3ArunInteractiveProcess That page also documents runInteractiveCommand which you're using. It's pretty much just a drop in replacement, except you'll need to pass in the env variables you set plus the existing env from System.Environment.getEnv. Then we can redefine setEnv to something like this: setEnv (a, b) xs = nubBy (\(x,_) (y, _) -> x == y) ((a,b):xs) The sneaky thing with nubBy here is that our new definition will override an existing one and if there is no definition we append ours. Then you could build up your env variables you want to add into a list of tuples and fold setEnv over it. I think you get the idea. Basically, you keep appending new env variables to the result of getEnv. Then you pass this new env down to runInteractiveProcess and we will hopefully be portable on win32. Thanks, Jason _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
