vik*_*ata -2 parsing haskell compilation ghc
我有一个haskell文件:
main = putStrLn "hello world"
let a=1
show a
Run Code Online (Sandbox Code Playgroud)
和ghc说:
main.hs:3:1:
parse error (possibly incorrect indentation or mismatched brackets)
Run Code Online (Sandbox Code Playgroud)
这里有很多问题.
首先,如果要对表达式进行排序,则IO需要将它们放在一个do块中.其次,你需要使用缩进(仅空格,没有制表符!)来分隔do块,如下所示:
main = do
putStrLn "hello world"
let a=1
show a
Run Code Online (Sandbox Code Playgroud)
最后,show a将返回一个字符串,但是你想要一个IO动作来打印一个字符串,所以它应该是putStrLn (show a),或者你可以使用print a打印功能组成showing(变成一个字符串)然后打印到控制台.