2013-04-29 15 views
5

Piszę teraz plik todo.sh w Haskell, aby lepiej zrozumieć działanie IO-monadów, a do przetworzenia danych wejściowych użyję polecenia cmdArgs, na przykład argparse do Python.Jak przypinać zależności w aplikacjach Haskella

Moje pytanie brzmi: jak mogę przypisać zależność cmdArgs jak pip's requirements.txt?

Django==1.5.1 
South==0.7.6 

I czy w porządku jest dystrybucja mojego pakietu w Hackage?

+0

Technicznie można to zrobić, ale to za dobry styl podążać zakresy [Pakiet strategiczny Versioning] (http://www.haskell.org/haskellwiki/Package_versioning_policy#Dependencies_in_Cabal) i korzystać z wersji. –

+0

Hackage ma pakiet [todos] (http://hackage.haskell.org/package/todos). Powinieneś porównać do tego. –

+0

@GabrielGonzalez, właściwie nie robię tego, aby rozpowszechniać, robię dla uczenia się. Dystrybucja za pomocą Hackage to jeszcze jeden krok do nauki. –

Odpowiedz

6

Użyj pola build-depends w pliku

build-depends: 
    cmdargs == 0.10.3 

.cabal Ale określając jedną dokładną wersję zwykle nie jest najlepszym pomysłem, więc

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

określa zakres dopuszczalnych wersjach.

I czy w porządku jest dystrybucja mojego pakietu w Hackage?

Nie, jeśli wiesz, że nie przyda się nikomu.

Innymi słowy, tak, na pewno jest w porządku. Potrzebujesz konta na Hackage, a to może trochę potrwać.