Как запустить полную программу на Haskell - PullRequest
1 голос
/ 21 апреля 2019

Я новичок в Haskell и понимаю, как запустить короткий скрипт. Однако я пытаюсь запустить эту программу: https://github.com/bollu/cellularAutomata. В этой программе есть папка приложения с Main.hs, исходная папка и некоторые сценарии оболочки.

Как вы запускаете это из терминала?

В настоящее время запускает GHCi, загружает Main.hs и не может его запустить.

Это ошибка, которую я получаю прямо сейчас, когда загружаю Main прямо из приложения.

Prelude> :cd /Users/name/Downloads/code library/cellularAutomata-master/app
Prelude> :load Main
[1 of 8] Compiling Cyclic1D         ( Cyclic1D.hs, interpreted )

Cyclic1D.hs:7:1: error:
    Could not find module ‘Cellular’
    Use -v to see a list of the files searched for.
  |
7 | import Cellular
  | ^^^^^^^^^^^^^^^

Всего не может найти 6 модулей.

- EDIT -

После установки клики, стека и запуска

stack build

Я получаю эту ошибку в середине сборки:

setup: The program 'pkg-config' version >=0.9.0 is required but it could not be found.

Идеи? Первоначально я думал, что pkg-config поставляется с cairo, поэтому я потратил время на добавление символических ссылок на это, но теперь я считаю, что, возможно, pkg-config должен поставляться либо со стеком, либо с оригинальным проектом.

Просматривая журналы ошибок, эта ошибка отображается при попытке скомпилировать StackSetupShim для cairo-0.13.3.1 и glib-0.13.4.1, пример ниже для последнего:

      /private/var/folders/1l/0993c3212tg_93l0d4ypfk1m0000gn/T/stack-215ef039e4c6f639/glib-0.13.4.1/.stack-work/dist/x86_64-osx/Cabal-1.24.2.0/setup/setup [...] --dependency=utf8-string=utf8-string-1.0.1.1-1DpjxLeTvGg7ttZZojxJR5
    Process exited with code: ExitFailure 1
    Logs have been written to: /Users/name/stack/cellularAutomata/.stack-work/logs/glib-0.13.4.1.log

    [1 of 2] Compiling Main             ( /private/var/folders/1l/0993c3212tg_93l0d4ypfk1m0000gn/T/stack-215ef039e4c6f639/glib-0.13.4.1/Setup.hs, /private/var/folders/1l/0993c3212tg_93l0d4ypfk1m0000gn/T/stack-215ef039e4c6f639/glib-0.13.4.1/.stack-work/dist/x86_64-osx/Cabal-1.24.2.0/setup/Main.o )
    [2 of 2] Compiling StackSetupShim   ( /Users/name/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /private/var/folders/1l/0993c3212tg_93l0d4ypfk1m0000gn/T/stack-215ef039e4c6f639/glib-0.13.4.1/.stack-work/dist/x86_64-osx/Cabal-1.24.2.0/setup/StackSetupShim.o )
    Linking /private/var/folders/1l/0993c3212tg_93l0d4ypfk1m0000gn/T/stack-215ef039e4c6f639/glib-0.13.4.1/.stack-work/dist/x86_64-osx/Cabal-1.24.2.0/setup/setup ...
    Configuring glib-0.13.4.1...
    setup: The program 'pkg-config' version >=0.9.0 is required but it could not
    be found.```

1 Ответ

4 голосов
/ 21 апреля 2019

Этот проект использует Haskell Stack для управления зависимостями. Его можно установить с brew install stack, если вы используете homebrew, или следуя инструкциям в документации по стеку.

После установки вы можете запустить сценарии оболочки, например, ./build-and-ghci.sh, которые будут использовать Stack для загрузки ghc, зависимостей проекта, а затем запустить ghci.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...