这意味着什么"'main'的类型签名缺少伴随的绑定"?

时间:2016-04-26 10:06:35

标签: haskell compiler-errors

我正在尝试编译这个简单的程序

main :: IO() 
def main = do 
  putStrLn "Was lernst du?" 
  sprache <- getLine putStrLn ("Viel Erfolg beim " ++ sprache ++ " lernen!")

但我在终端上得到以下答案:

ghc --make waslernstdu1.hs
[1 of 1] Compiling Main             ( waslernstdu1.hs, waslernstdu1.o )

waslernstdu1.hs:2:1:
    The type signature for ‘main’ lacks an accompanying binding
assigals-Air:documents thommymuc2004$ 

如何解决此错误?

2 个答案:

答案 0 :(得分:4)

您需要在定义中def之前删除main。您正在使用单个参数def

定义函数main
main :: IO() 
main = do 
  putStrLn "Was lernst du?" 
  sprache <- getLine putStrLn ("Viel Erfolg beim " ++ sprache ++ " lernen!")

答案 1 :(得分:2)

您已为main函数(即main :: IO ())提供了类型签名,但您尚未提供实现。实施的格式为main = <the implementation>