作为一名初级CS专业的学生,我自己一直试图在秋季休息时学习Haskell(对我来说......不知道为什么我会折磨自己)。我下载了IntelliJ并从Jetbrains安装了官方的Haskell插件。
我按照"向大家学习哈斯克尔的指示!"
编译此代码时:
test = putStrLn "Hello World!"
我收到此错误:
Information:Compilation completed with 2 errors and 1 warning in 2 sec
Information:2 errors
Information:1 warning
Error:cabal: build errors.
Warning:ghc: warning: control reaches end of non-void function [-Wreturn-type]
int foo() {}
^
/Users/<USER_NAME>/Documents/Dropbox/Developer/IntelliJ/src/Main.hs
Error:(1, 1) ghc: The function `main' is not defined in module `Main'
使用文本编辑器和终端时我没有这个问题...但我喜欢IDE(对不起VIM家伙)。此外,我正在运行OS X 10.9,据我所知,这已经引起了问题。
答案 0 :(得分:4)
您错过了main
功能,就像错误告诉您的那样。只是:
main :: IO ()
main = putStrLn "Hello World!"
或:
test :: IO ()
test = putStrLn "Hello World!"
main :: IO ()
main = test
如果它仍然给你带来问题,那么在文件的最开头只需添加:
module Main where