Biblioteka definiuje opisy pakietów i ich strukturę oraz opisuje część procesu budowania i instalowania pakietu. Pakiet cabal-install
definiuje aplikację cabal
. Korzysta z biblioteki, aby skutecznie zrozumieć, czym jest opis pakietu.
Jest to standardowa struktura oprogramowania: zaimplementuj całą logikę biznesową czystego i wielokrotnego użytku w bibliotece (biblioteka Cabal
wykonuje większość, ale nie wszystkie, pracy wyłącznie związane z opisami pakietów) i implementuje cały interfejs użytkownika rzeczy i inne "szczegóły" w aplikacji korzystającej z biblioteki (pakiet cabal-install
definiuje narzędzie CLI i implementuje szczegóły pobierania pakietów z Hackage).