Haskell - компиляция вопросов в GHC

Я очень новичок в Haskell, и недавно я установил платформу с GHC. Я решил проверить это, скомпилировав простую программу Hello world: main = putStrLn "Hello, world"

Теперь, когда я перехожу в командную строку (Windows 7), найдите нужный каталог и введите ghc hello.hs, он возвращается со следующим сообщением: "[1 из 1] Compiling Main (hello.hs, hello.o)". Я понимаю, что после компиляции он должен следовать с "Linking hello.exe...", но это никогда не приходит, и не создается .exe.

В принципе, есть ли какая-то заметная причина, почему это происходит? Есть ли проблема с кодом, есть ли что-то, о чем я не знаю, или просто попробую переустановить платформу Haskell?

Спасибо.

Ответ 1

Я получил ghc, чтобы связать свою программу с исполняемым файлом, удалив объявление модуля с самого начала файла.

Ответ 2

Вывел ли файл a.exe или a.out.exe или a.out? Если нет, то, может быть, вы можете просто связать его самостоятельно? ld -o hello.exe hello.o или независимо от того, какая команда связи находится на вашей платформе.

Ответ 3

Я бы использовал параметр --make, как в ghc --make hello.hs. (Фактически, вы можете оставить расширение файла, если хотите). Это автоматически определит, что нужно сделать, какие пакеты, если необходимо, нужно связать, и обычно делать все, что вы ожидаете.