Каковы различия между runghc и ghc? - PullRequest
0 голосов
/ 05 июня 2018

Каковы различия между runghc и ghc ?

Я запустил короткую программу, которая, казалось, отлично скомпилировалась с обоими, за исключением того, что я получил следующее с runghc , но не просто ghc :

ошибка:

  • Переменная не в области видимости: main :: IO a0
  • Возможно, вы имели в виду `min '(импортировано из Prelude)

Кажется , что компилирует вещи в runghc , эти вещинужна основная функция, а обычная ghc , не так ли?

Это все?

1 Ответ

0 голосов
/ 13 мая 2019

runghc используется для запуска программ напрямую, без их компиляции.Файл без действия main IO не может быть run , так как по определению запускать нечего.

Что ghc делает с файлом, не содержащим main это скомпилировать его как модуль , который будет импортирован другими программами / модулями haskell - они, конечно, не работают.

...