Ответ 1
Это хорошо поддерживается Cabal. Как следует (от xmonad):
Импорт Paths_$myprogram
- файл Cabal создает с большим количеством метаданных из файла .cabal вместе с модулем для обработки номеров версий:
import Paths_xmonad (version)
import Data.Version (showVersion)
Добавьте выражение печати для печати поля "версия", предоставленного Paths_$myprogram
:
case args of
["--version"] -> putStrLn ("xmonad " ++ showVersion version)
В общем случае файл Paths, созданный Cabal, содержит следующие значения: dist/build/autogen/
version,
getBinDir, getLibDir, getDataDir, getLibexecDir,
getDataFileName