haskell - как создать двоичный файл из неосновного модуля? - PullRequest
9 голосов
/ 05 ноября 2011

У меня часто бывают ситуации, когда я оставляю main :: IO () функции в тестах. Я могу запустить это нормально с runghc, но иногда я хочу скомпилировать их (например, для работы на другой платформе). Есть ли способ сделать это? Если я бегу, например,

ghc --make Test.Haar

, где Test/Haar.hs имеет метод main, тогда ничего не происходит, он просто создает файл .o.

Ответы [ 2 ]

13 голосов
/ 05 ноября 2011
ghc --make -main-is Test.Haar Test.Haar
4 голосов
/ 05 ноября 2011

Обратите внимание, однако, что после использования -main-is Test.Haar, если вы хотите использовать модуль как часть другой программы, вы должны перекомпилировать его без -main-is, в противном случае компоновщик найдет две точки входа и бросит ошибка.

...