Переменная в Кабале (Haskell)

Я пытаюсь написать пакет на Haskell. Этот пакет содержит библиотеку и исполняемый файл. Я указываю это в файле Кабала. Библиотека состоит из трех основных компонентов:

1) Есть выставленные модули библиотеки

2) Существуют внутренние зависимости сборки, которые не следует экспортировать как часть библиотеки.

3) Есть внешние зависимости сборки.

В файле Кабала есть некоторые совпадения. Для библиотеки пишу:

Exposed-modules: Список открытых модулей

other-modules: Список других модулей

build-depends: Список зависимостей сборки

Затем для исполняемых модулей other-modules: Список открытых модулей и других модулей, необходимых в исполняемой сборке, зависит от сборки: Список зависимостей сборки

Было бы хорошо, если бы Кабал разрешил мне иметь переменную.

V1 = Список открытых модулей

V2 = Список других модулей

V3 = Список зависимостей сборки

Тогда в исполняемом файле, например, я мог бы сделать

другие модули: V1, V2

зависит от сборки: V3

В качестве альтернативы я бы посоветовал лучше использовать систему Кабала!


person Jonathan Gallagher    schedule 09.09.2013    source источник


Ответы (1)


Нет, пока это невозможно. Я думаю, что у нас есть запрос функции для чего-то подобного в системе отслеживания проблем. Однако обратите внимание, что ваш исполняемый файл может зависеть от библиотеки, определенной в том же .cabal файле, поэтому вам не нужно совместно использовать exposed-modules и other-modules:

Name: some-package
Version: 0.1
[...]

Library
    build-depends: some-dependency >= 1.0, ...        
    exposed-modules: A, B, C
    other-modules: C, D, E
    [...]

Executable some-exe
    main-is: SomeExe.hs
    build-depends: some-package == 0.1

Реальный пример см. здесь .

person Mikhail Glushenkov    schedule 09.09.2013
comment
Спасибо! Зависимость от одного и того же пакета решает мою проблему. - person Jonathan Gallagher; 10.09.2013