我能';由于语法错误,无法在Haskell上执行任何操作
我可以执行简单的操作,比如我能';由于语法错误,无法在Haskell上执行任何操作,haskell,syntax,hugs,Haskell,Syntax,Hugs,我可以执行简单的操作,比如 Hugs> 2+2 比如说。或者任何行动 但在实际尝试定义函数时,例如: occurs :: Eq a => a -> [a] -> Bool occurs x l = x `elem` l 然后我得到了信息: ERROR - Syntax error in input (unexpected `=') 在其他情况下,我也会得到意外的“:”。我正在使用WinHugs。在交互模式下键入函数时,需要使用let,并且还必须用分号分隔行: le
Hugs> 2+2
比如说。或者任何行动
但在实际尝试定义函数时,例如:
occurs :: Eq a => a -> [a] -> Bool
occurs x l = x `elem` l
然后我得到了信息:
ERROR - Syntax error in input (unexpected `=')
在其他情况下,我也会得到
意外的“:”
。我正在使用WinHugs。在交互模式下键入函数时,需要使用let
,并且还必须用分号分隔行:
let occurs :: Eq a => a -> [a] -> Bool; occurs x l = x `elem` l
您需要将函数保存在文件(*.hs)中,并通过
:load
加载它,因为提示只接受表达式
Hugs提示符仅接受表达式进行求值。您可以创建一个包含Haskell模块的文件,并加载该模块(有关详细信息,请参阅)
如果您想在REPL环境中试验函数定义,我建议您改用GHCi。我复制了您编写和获得的内容:>错误-表达式中的语法错误(输入意外结束)@user3482534这对我来说很好,但我使用的是GHCi而不是Hugs。老实说,我建议改用GHC(和)而不是Hugs,它对一些更现代的功能有更好的支持,特别是考虑到Hugs的上一次构建是在2006年左右。但这是你问题的一个旁注。你能在定义周围用大括号试试吗,比如
让{ocurses::…;ocursexl=…}
?@bheklillr是正确的。安装Haskell平台并使用GHCi或.hs文件运行。在学习哈斯克尔时,拥抱更像是一种阻抗,而不是一种帮助。