
May I ask what the problem is you're trying to solve?
If you want to access datafiles in an installed program then Cabal can
help you with that. See
http://www.haskell.org/cabal/users-guide/#accessing-data-files-from-package-...
If you want to do more complicated things, maybe take a look at how
GHC does it. For example, on OS X (and other Unix-based systems) the
"ghc" command is actually a script:
$ cat `which ghc`
#!/bin/sh
exedir="/Library/Frameworks/GHC.framework/Versions/7.0.3-x86_64/usr/lib/ghc-7.0.3"
exeprog="ghc-stage2"
executablename="$exedir/$exeprog"
datadir="/Library/Frameworks/GHC.framework/Versions/7.0.3-x86_64/usr/share"
bindir="/Library/Frameworks/GHC.framework/Versions/7.0.3-x86_64/usr/bin"
topdir="/Library/Frameworks/GHC.framework/Versions/7.0.3-x86_64/usr/lib/ghc-7.0.3"
pgmgcc="/Developer/usr/bin/gcc"
executablename="$exedir/ghc"
exec "$executablename" -B"$topdir" -pgmc "$pgmgcc" -pgma "$pgmgcc"
-pgml "$pgmgcc" -pgmP "$pgmgcc -E -undef -traditional" ${1+"$@"}
/ Thomas
On 1 December 2011 16:12, dokondr
Hi, When my program starts it needs to know a complete path to the directory from which it was invoked. In terms of standard shell (sh) I need the Haskell function that will do equivalent to:
#!/bin/sh path=$(dirname $0)
How to get this path in Haskell?
getProgName :: IO String defined System.Environment only returns a file name of the program without its full path.
Thanks!
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Push the envelope. Watch it bend.