Safe Haskell | Safe |
---|---|
Language | Haskell98 |
System.Environment.Executable
Description
The documentation of "System.Environment.getProgName" says that
"However, this is hard-to-impossible to implement on some non-Unix OSes, so instead, for maximum portability, we just return the leafname of the program as invoked. Even then there are some differences between platforms: on Windows, for example, a program invoked as foo is probably really FOO.EXE, and that is what "getProgName" will return."
This library tries to fix this issue. It also provides some platform-specific functions (most notably getting the path of the application bundle on OSX). Supported operating systems:
- Win32 (tested on Windows 7)
- Mac OS X
- Linux
- FreeBSD (tested on FreeBSD 6.4)
- *BSD (with procfs mounted, plus fallback for certain shells; untested)
- Solaris (untested, and probably works on Solaris 10 only)
Documentation
data ScriptPath Source #
Constructors
Executable FilePath | it was (probably) a proper compiled executable |
RunGHC FilePath | it was a script run by runghc/runhaskell |
Interactive | we are in GHCi |
Instances
getScriptPath :: IO ScriptPath Source #
An experimental hack which tries to figure out if the program
was run with runghc
or runhaskell
or ghci
, and then tries to find
out the directory of the source (or object file).
GHC only.