Haskell: Правильно ли указывать версию в источнике?

Каков наилучший / правильный способ указывать версию в вашем дереве исходного кода? Я хочу, например, поместить файл VERSION на верхний уровень дерева исходных текстов и получить функцию «версия» для его чтения.

В файле cabal есть раздел версии. Можно ли прочитать его из моего источника с помощью функций «помощь» или «версия»? Как правильно указывать версию в одном месте и делать ее доступной по всему миру?

Постскриптум Есть ли в библиотеке Cabal какие-либо функции, позволяющие вам извлечь какой-либо раздел из файла cabal и представить его в своем источнике? Тогда я мог бы просто вытащить раздел версии из кабала.

-- ОБНОВИТЬ --

Спасибо, Томас, за полезные знания о модуле Pathes_x. Просто хотел добавить, что, по-видимому, мне не нужно ничего помещать в мой файл клики. Все просто работает без этого. Все, что мне нужно было импортировать Pathes_X, как вы предложили. Кроме того, мне нужно было импортировать Data.Version, чтобы функция showVersion правильно форматировала / печатала тип данных Version. Итак, в конце я получаю что-то вроде этого:

import Paths_kvman
import Data.Version

runVersion _ = putStrLn ("Version: " ++ (showVersion version))

Теперь все, что мне нужно, это изменить номер версии в файле cabal, чтобы распространить его по всему моему источнику. Именно то, что мне было нужно. Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос