Как установить модули в haskell

Я хочу запустить код haskell, который включает в себя сетевые файлы.

ghc firewall.hs

Сообщение об ошибке

firewall.hs:1:8:
    Could not find module `Network.HTTP.Enumerator'
    Use -v to see a list of the files searched for.

может кто-нибудь сказать мне, как установить модуль в haskell, если эта проблема связана с этим.

Ответ 1

Инструмент cabal обрабатывает это. В этом случае вам нужно:

cabal update # to download the latest package list if not done recently
cabal install http-enumerator

Если вы не установили GHC через платформу Haskell, у вас может не быть этого инструмента. Если да, возьмите платформу Haskell здесь: http://www.haskell.org/platform/

Чтобы узнать, какой пакет вам нужен для определенного модуля, используйте окно поиска здесь: http://hackage.haskell.org/packages/archive/pkg-list.html

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

Ответ 2

Чтобы увеличить ответ Ganesh, большинство людей, которых я знаю, не утруждают себя использованием платформы Haskell, а вместо этого устанавливают GHC, а затем загружают bootstrap с помощью cabal script.

Использование wget (или завиток, если хотите):

wget http://hackage.haskell.org/packages/archive/cabal-install/1.18.0.1/cabal-install-1.18.0.1.tar.gz
tar xzf cabal-install-1.18.0.1.tar.gz
cd cabal-install-1.18.0.1
sh ./bootstrap.sh
export PATH=$PATH:$HOME/.cabal/bin

После этого это просто вопрос использования "cabal" для установки пакетов Haskell.

cabal update
cabal install http-enumerator

Вы можете увидеть этот пакет и многие другие на http://hackage.haskell.org.