executable-path-0.0.3: Finding out the full path of the executable.Source codeContentsIndex

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 XP / x86 only)
  • Mac OS X (tested on Leopard / x86 only)
  • 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)
getExecutablePath :: IO FilePath
splitExecutablePath :: IO (FilePath, FilePath)
getApplicationBundlePath :: IO FilePath
data ScriptPath
= Executable FilePath
| RunGHC FilePath
| Interactive
getScriptPath :: IO ScriptPath
getExecutablePath :: IO FilePathSource
splitExecutablePath :: IO (FilePath, FilePath)Source
getApplicationBundlePath :: IO FilePathSource
Mac OS X only.
data ScriptPath Source
Executable FilePathit was (probably) a proper compiled executable
RunGHC FilePathit was a script run by runghc/runhaskell
Interactivewe are in GHCi
show/hide Instances
getScriptPath :: IO ScriptPathSource

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.

Produced by Haddock version 2.6.1