[Haskell-cafe] How to get a file path to the program invoked?
wren ng thornton
wren at freegeek.org
Sun Dec 4 07:32:23 CET 2011
On 12/1/11 2:26 PM, dokondr wrote:
> How to find this path using GHC libraries?
There was a discussion about this recently over on libraries@, IIRC. The
short answer is that, at present, there is no function to give you $0.
We'd like to add such a function, but it's not been done yet.
Part of the problem is that, as Alexey says, the first element of argv
is just whatever is passed to exec, which is not guaranteed to be a
complete path, a canonical path, or any other specific thing we'd
desire. It's not at all straightforward to determine the actual location
of the executable, especially not in a platform-independent manner.
argv[0] can't be trusted, scanning through $PATH isn't guaranteed to
find it (and even if you find something of the right name, it's not
guaranteed to be the correct executable), etc etc.
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list