Вместо этого вы, вероятно, ищете ghc -e
:
> echo 'foo x y z = x+y*z' > foo.hs % let's make a foo.hs file
> ghc foo.hs -e 'foo 1 2 3' % call the function in foo.hs
=> 7
Также обратите внимание, что вы также можете использовать команду :reload
в ghci.Загрузите файл в ghci, отредактируйте, наберите :reload
и протестируйте снова.Кроме того, если это кажется слишком утомительным, вы также можете определить макрос ghci, который позволит вам перезагрузить и протестировать вашу функцию одновременно:
> :def test \x -> return (":reload\n" ++ x)
> :test foo 1 2 3
=> Ok, modules loaded: Foo.
7
Если вы хотите создавать реальные программы, а не быстротестируя свои функции, тогда вам лучше прочитать другие ответы по написанию main
функций.