Haskell语法错误:意外`;'可能是由于布局不好

时间:2015-01-13 12:11:22

标签: haskell syntax ghci hugs

很长一段时间以来,我一直在第四行收到此错误:     声明中的语法错误(意外的`;',可能是由于布局错误) 在以下代码段中:

import Data.Maybe    

leesIngrediënten:: Int->[[Char]]->[Int]->[Maybe [Char]]->[[Char]]->([Int], [Maybe [Char]], [[Char]])
leesIngrediënten 0 _ hoevs eenhs naams = (hoevs, eenhs, naams)
leesIngrediënten n (line:lines) hoevs eenhs naams =
                 let 
                     (hoev, eenh, naam) = leesLijn line
                     in  
                       leesIngrediënten (n-1) lines (hoev:hoevs) (eenh:eenhs) (naam:naams)

在互联网上搜索后,我发现错误意味着什么,但重点是我没有看到我的错误。 (可能是因为我写了代码)

奇怪的是,Hugs抱怨GHCi没有什么可抱怨的。

提前致谢!

2 个答案:

答案 0 :(得分:5)

根据https://www.haskell.org/hugs/pages/users_guide/haskell98.html,Hugs不支持Unicode标识符。这可能会导致语法错误。

答案 1 :(得分:0)

看起来问题似乎带有Unicode标识符。当我运行你的代码时,我得到了

3:12: lexical error (UTF-8 decoding error)

但重要的是,如果文件是已编译的文件或不是。如果是exe,请不要使用runhaskell。这也可能导致问题。对于未来有一点提示,当您在单词和标点符号之间使用更多空格时,您的代码更容易阅读。