2013-08-04 3 views
0

Я чрезвычайно новичок в haskell, и я искал по сети, но я не смог решить свою проблему. Я загрузил Quipper package, но я не смог получить haskell, чтобы узнать, где все модули и файлы, и как правильно связать все.Haskell "Не удалось найти модуль ---" Quipper

Я загрузил все файлы и программы и установил их правильно, я просто не знаю, как получить haskell, чтобы распознать библиотеки и шаблоны шутеров. Evey time Я стараюсь:

:load And_gate.hs или какой-либо другой файл.

я получаю:

Could not find module "Quipper" или его соответствующих модулей требует.

Я не думаю, что это ошибка или что-то еще, я думаю, что это просто недостаток знаний о том, как работает haskell.

Я использую окна 7.

+0

Вы не объяснили, что именно ваш процесс установки был, не могли бы вы пояснить это? – jozefg

ответ

1

По какой-то причине этот код не упакован в стандартный пакет Haskell. Если бы это было, установка была бы довольно простой. Как бы то ни было, инструкции в файле README выглядят ужасно (особенно в Windows, где, похоже, вам нужен MSYS для запуска make-файла).

Ваша проблема может быть такой же простой, как сообщать GHCi, какую папку искать в поиске файлов; вы можете сделать это, используя команду :cd. Поскольку вы находитесь в Windows, я бы предложил попробовать WinGHCi, который должен позволить вам перейти в нужную папку с помощью графического интерфейса.

Если это не так просто ... на самом деле, как начинающий Хаскелл, вы, вероятно, будете бороться за то, чтобы это работало. Документация выглядит довольно минимально.

+0

Это на самом деле немного полезно, я ': cd C:/quipper/quipper', и теперь он говорит, что не может найти' Libraries.Auxiliary', который находится в 'C:/quipper/Libraries' более высокой папке. Похоже, мне нужно будет напрямую поговорить с создателями Quipper или выяснить, как сам установить устанавливаемый пакет. Но спасибо за ответ, мне не придется бегать по кругу, ища решение. – user2650129

+0

Я нашел ответ, просто необходимо: 'ghci -iC:/quipper -iC:/quipper/quipper' внутри MSYS Спросить его, могу ли я опубликовать его электронную почту для переполнения стека для кого-либо еще, чтобы читать. – user2650129

2

Итак, я отправил по электронной почте Peter Selinger, одного из профессоров, создавших Quipper.

Единственное, что мне нужно сделать дополнительный был внутри MSYS:

ghci -iC:/quipper -iC:/quipper/quipper

Это соответствует все правильно и файлы правильно работать.

Вот его электронная почта мне:

Уважаемый -----,

спасибо за письма. Позвольте мне посмотреть, смогу ли я помочь.

Вы следуете инструкциям в файле README? В разделе «Построение различных алгоритмов и программ» инструкция должна запускаться «make». Это автоматически завершило бы все тесты в каталоге «тесты» .

Далее, чтобы скомпилировать программу Quipper, вы должны использовать скрипт «quipper» , который находится в quipper/scripts. Он работает так же, как «ghc», , за исключением того, что он автоматически включает в себя правильные каталоги для Файлы Quipper в пути поиска. В Windows вы будете использовать «quipper.bat».

Quipper на самом деле не предназначен для интерактивного запуска, то есть из ghci. Однако, если вам нужно запустить Quipper в интерактивном режиме, я рекомендую с использованием сценария «quipperi», также в quipper/scripts. Это также будет правильно установить пути загрузки. В Windows используйте «quipperi.bat».

Наконец, если вам необходимо включить Quipper материал из GHCI, но по какой-то причине не могут или не хотят использовать quipperi сценарий, необходимо указать эти каталоги с «-i» вариант, например

GHCi -ic:/quipper -ic:/quipper/quipper

Это может быть, что в Windows, вам нужно использовать "\" вместо "/", но я не уверен, если это необходимо.

Я надеюсь, что это помогает, - Питеру

При компиляции и ех с GHC просто убедитесь, что вы включили команды:

-iC:/quipper -iC:/quipper/quipper.

Если вы используете скрипт quipper как предложено профессором Selinger, внутри MSYS сделайте следующее:

Перейдите к папке, в которой все файлы Quipper проходят, это был мой случай:

cd C:/quipper/quipper/scripts

Затем введите quipper и расположение вашего файла в MSYS скомпилировать ехе так:

quipper C:/quipper/tests/And_gate.hs

Файл будет компилировать и должен печатать обновления выглядеть примерно так:

[1 of 22] Compiling Libraries.Typeable (......

[2 of 22] Compiling Libraries.Tuple (......

и так далее.

EXE (в данном случае And_gate.exe) будет находиться в папке, из которой она была скомпилирована (C:/quipper/tests). Вам нужно будет переместить его в папку, содержащую acroread.bat, которая поставляется в quipper/scripts, чтобы она работала правильно.

1

Если вы красные оба README и INSTALLING.windows и сделали все, то вам следует добавить путь к папке сценария Quipper для переменной окружения. Вот путь:

quipper-*/quipper/scripts/ 

где quipper-* является <distribution name>-<version>.

В этой папке есть два важных сценария. Первый из них - quipper.bat, который запускает компилятор ghc для запуска модулей Quipper. Второй - quipperi.bat, который является аналогом ghci для Quipper.

Теперь, когда вы добавили путь к переменной, вы можете запустить And_gate.hs интерпретатор Quipper, как показано ниже:

quipperi And_gate.hs 
Смежные вопросы