2013-04-29 1 views
5

Теперь я пишу todo.sh в Haskell, чтобы лучше понять, как работают монады IO, и я собираюсь использовать cmdArgs для синтаксического ввода, например, argparse do в Python.Как подключать зависимости в приложениях Haskell

Мой вопрос в том, как я могу привязать зависимость cmdArgs, как pip.txt pip.

Django==1.5.1 
South==0.7.6 

И, нормально ли распространять мой пакет в Hackage?

+0

Технически вы можете это сделать, но считается хорошим стилем, чтобы следовать [Правилам реализации пакетов] (http://www.haskell.org/haskellwiki/Package_versioning_policy#Dependencies_in_Cabal) и использовать диапазоны версий. –

+0

Hackage имеет пакет [todos] (http://hackage.haskell.org/package/todos). Вы должны сравнить с этим. –

+0

@GabrielGonzalez, на самом деле я не занимаюсь этим распространением, я занимаюсь обучением. Распространение с Hackage - это еще один шаг к обучению. –

ответ

6

Используйте build-depends поле в файле .cabal

build-depends: 
    cmdargs == 0.10.3 

Но указав один конкретный вариант, как правило, не лучшая идея, так

build-depends: 
    cmdargs >= 0.8 && < 0.11 

определяет диапазон допустимых версий.

И, нормально ли распространять мою упаковку в Hackage?

Нет, если вы знаете, что он никогда не будет полезен никому.

Другими словами, да, конечно, все в порядке. Вам нужна учетная запись в Hackage для этого, и это может занять некоторое время, чтобы получить.