On Friday 09 October 2009 07:19:30 pm Peter Verswyvelen wrote: > Mmm, that seems like a shortcoming. > > Well, you could just wrap the C functions yourself, like this (two > possibilities, no error checking yet, quick hack): > http://hpaste.org/fastcgi/hpaste.fcgi/view?id=10565#a10565 > > Note that using SetEnvironmentVariable does not seem to be compatible with > getEnv, but calling _putenv does work.
Both solutions seem to work on my system. Using c_putenv doesn't require linking additional libraries in my case, so i'm going with that. You've been very helpful, thank you very much. > > So I guess someone should add this setEnv wrapper to the System.Environment > module? Ticket? Once i figure out, how to implement functions differently for linux and windows, i'll write a ticket with an example module based on your suggestion. Again, many thanks, Sönke > > On Fri, Oct 9, 2009 at 5:37 PM, Sönke Hahn <sh...@cs.tu-berlin.de> wrote: > > Hi! > > > > I need to set an environment variable from Haskell and i would like to do > > that > > > cross-platform. There is System.Posix.Env.setEnv, which does exactly, > > what > > i > > > want on Linux. There is the module System.Environment, which seems to be > > cross-platform, but it does not contain functions to manipulate the > > environment (, just to inspect it). At first glance, I didn't find > > anything > > > relevant in the sub-modules of System.Win32. > > > > Is this just not implemented? How could i implement it myself? > > > > Grateful for any comment, > > > > Sönke > > _______________________________________________ > > Haskell-Cafe mailing list > > Haskell-Cafe@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe