2011-03-21 4 views
2

У меня есть вопрос новичков. Я хочу использовать некоторые функции из прелюдии, но я получаю такую ​​же ошибку все время.Haskell - импортирующие функции из прелюдии

Например:

Неопределенная переменная "дифф"

Некоторые другие функции работают, некоторые нет. Думаю, мне нужно что-то импортировать, Google не помог мне ... Я использую WinHugs.

+7

'diff' не является функцией в Prelude. Что ты пытаешься сделать? Можем ли мы увидеть код? – interjay

+1

В GHCi (возможно, тоже обнимает, не уверен) вы можете запустить ': просмотреть Module.Name', например': просмотреть Prelude', и просмотреть все экспортные данные для этого модуля. –

+1

[Документы модуля Prelude] (http://hackage.haskell.org/packages/archive/base/latest/doc/html/Prelude.html) –

ответ

10

Вот два сайта, которые вы должны пометить, потому что они помогут вам найти нужные вам функции - и узнайте, что вам нужно импортировать.

http://haskell.org/hoogle/ http://holumbus.fh-wedel.de/hayoo/hayoo.html

Поиск и эти сайты, я не вижу ничего, что выглядит как функции, которую вы хотите. Для меня есть следующие возможности:

  • Вы изучаете книгу, в которой есть примеры вещей, которые вы вводите в командной строке Linux. «diff» - это общая команда Linux для сравнения двух файлов. Я считаю, что эквивалент Windows - comp.

  • Вы используете пример кода, который у вас есть, но вы не импортировали все, что вам нужно. Если вы можете найти файл, содержащий функцию «diff», импортируйте его.

  • Вы написали функцию под названием «diff» и поместили ее в другой файл. В файле, где вы хотите использовать «diff», вам нужно импортировать модуль, который его содержит.

1

Прелюдия обычно импортируется неявно. Вы уверены, что это действительно ваша проблема? Undefined variable "diff" немного расплывчато, так как я не знаю функции diff, импортированной с помощью Prelude. Можете ли вы уточнить?

Смежные вопросы